我有一个WP7应用程序,我最近升级到WP7.1(包括MVVM-Lite组件)和SL媒体框架播放器(SMF)停止工作。我打开登录播放器,注意到它正在寻找的解码器插件没有找到。SMF使用MEF来查找插件,但是无法为我的媒体找到插件。
我只用SMF播放器创建了一个测试项目,我能够播放SmoothStreaming和Progressive视频,没有问题。因此,我一个接一个地将我的真实应用程序中的引用dll添加到测试应用程序中-当我添加MVVM-Lite 7.1和Blend 7.1程序集(System.Windows。交互性和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的新版本
谢谢迈克尔。
我也遇到了同样的问题。因此,我开始深入研究这个问题,并找到了发生这种情况的原因。
问题是System.Windows.Interactivity。SMF和MVVM Light使用这个dll的不同版本。您必须确保 microsoft . silverlightmediafframe . utilities。Phone项目和你的主项目引用相同的版本。
在我的例子中,我将SMF更新为参考版本3.8.5.0。
如果你不想更新引用,那么你可以简单地从 microsoft . silverlightmediaframe . utilities中排除NavigationBehavior.cs类。手机项目。希望能有所帮助。