Модернизированное приложение, которое использует SL Media Framework и MVVM-Lite с WP7 до WP7.1 - PullRequest
2 голосов
/ 01 сентября 2011

У меня есть приложение WP7, которое я недавно обновил до WP7.1 (включая сборки MVVM-Lite), и проигрыватель SL Media Framework (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, и теперь плагины были обнаружены без проблем.

Мне неизвестно о каком-либо использовании MEFв Blend SDK или MVVM-Lite, но кажется, что существует проблема между обнаружением MEF SMF при использовании со сборками Blend SDK 7.1 и MVVM-Lite 7.1.

Есть какие-нибудь мысли или понимание этого?Кстати, у SMF нет новой версии для WP7.1

спасибо Michael

1 Ответ

1 голос
/ 27 октября 2011

У меня была такая же проблема. Итак, я начал копаться в этой проблеме и нашел причину, по которой это происходит.

Проблема в System.Windows.Interactivity . SMF и MVVM Light используют разные версии этой библиотеки. Вы должны убедиться, что проект Microsoft.SilverlightMediaFramework.Utilities.Phone и ваш основной проект ссылаются на одну и ту же версию.

В моем случае я обновил SMF до эталонной версии 3.8.5.0.

Если вы не хотите обновлять ссылку, вы можете просто исключить класс NavigationBehavior.cs из Microsoft.SilverlightMediaFramework.Utilities.Phone project.

Надеюсь, это поможет.

...