2

最近WP7.1にアップグレードしたWP7アプリ(MVVM-Liteアセンブリを含む)があり、SL Media Frameworkプレーヤー(SMF)が機能しなくなりました。プレーヤーへのログインをオンにしたところ、探していたデコーダープラグインが見つからなかったことがわかりました。SMFはMEFを使用してプラグインを検索しましたが、メディアのプラグインを見つけることができませんでした。

SMFプレーヤーだけでテストプロジェクトを作成し、SmoothStreamingとProgressiveのビデオを問題なく再生できました。そのため、実際のアプリにある参照dllを1つずつテストアプリに追加しました。MVVM-Lite7.1およびBlend 7.1アセンブリ(System.Windows.InteractivityおよびMicrosoft.Expression.Interactions)を追加すると、MEFディスカバリーが検出されます。プラグインの一部が動作を停止しました。

次に、MVVM-LiteおよびBlend SDKアセンブリをv7に戻したところ、プラグインは問題なく検出されました。

Blend SDKまたはMVVM-LiteでMEFを使用していることに気づいていませんが、BlendSDK7.1アセンブリとMVVM-Lite7.1アセンブリで使用した場合のSMFのMEF検出に問題があるようです。

これについて何か考えや洞察はありますか?ところで-SMFにはWP7.1の新しいバージョンがありません

ありがとうマイケル

4

1 に答える 1

1

私も同じ問題を抱えていました。それで、私はこの問題を掘り下げ始めました、そして、私はこれが起こっている理由を見つけました。

問題はSystem.Windows.Interactivityです。SMFとMVVMLightは、このdllの異なるバージョンを使用しています。Microsoft.SilverlightMediaFramework.Utilities.Phoneプロジェクトとメインプロジェクトが同じバージョンを参照していることを確認する必要があります。

私の場合、SMFを参照バージョン3.8.5.0に更新しました。

参照を更新したくない場合は、NavigationBehavior.csクラスをMicrosoft.SilverlightMediaFramework.Utilities.Phoneプロジェクトから除外するだけです。

それが役に立てば幸い。

于 2011-10-27T13:24:00.707 に答える