2

我有一个最近升级到 WP7.1(包括 MVVM-Lite 程序集)的 WP7 应用程序,并且 SL 媒体框架播放器 (SMF) 停止工作。我打开播放器登录,发现它正在寻找的解码器插件没有找到。SMF 使用 MEF 查找插件,但它无法为我的媒体找到插件。

我只用 SMF 播放器创建了一个测试项目,我能够播放 SmoothStreaming 和 Progressive 视频没有问题。因此,我将我真实应用程序中的引用 dll 一一添加到测试应用程序中 - 当我添加 MVVM-Lite 7.1 和 Blend 7.1 程序集(System.Windows.Interactivity 和 Microsoft.Expression.Interactions)时 - MEF 发现的插件停止工作。

然后我将 MVVM-Lite 和 Blend SDK 程序集恢复到 v7,现在发现插件没有问题。

我不知道在 Blend SDK 或 MVVM-Lite 中使用了 MEF,但在与 Blend SDK 7.1 和 MVVM-Lite 7.1 程序集一起使用时,SMF 的 MEF 发现之间似乎存在问题。

对此有何想法或见解?顺便说一句 - SMF 没有 WP7.1 的新版本

谢谢迈克尔

4

1 回答 1

1

我有同样的问题。所以,我开始深入研究这个问题,并找到了发生这种情况的原因。

问题是System.Windows.Interactivity。SMF 和 MVVM Light 正在使用这个 dll 的不同版本。您必须确保Microsoft.SilverlightMediaFramework.Utilities.Phone项目和您的主项目引用相同的版本。

就我而言,我将 SMF 更新为参考版本 3.8.5.0。

如果您不想更新引用,则可以简单地从Microsoft.SilverlightMediaFramework.Utilities.Phone项目中排除NavigationBehavior.cs类。

希望能帮助到你。

于 2011-10-27T13:24:00.707 回答