Регистр контейнера IUnityTypeforNavigation не работает в Prism 7 - PullRequest
0 голосов
/ 15 января 2020

У меня возникла эта проблема при установке призмы 7

SCS1929 «IUnityContainer» не содержит определения для «RegisterTypeForNavigation» и наилучшей перегрузки метода расширения «UnityExtensions.RegisterTypeForNavigation (IUnityContainer, string)) 'требуется приемник типа' IUnityContainer '

Кто-нибудь сталкивался с этой проблемой?

1 Ответ

1 голос
/ 15 января 2020

Это может быть следствием того, что вы только частично обновили свой код. Из-за ряда изменений, особенно в Unity, Prism 7 отделил свой API от любого указанного c контейнера. В результате расширения для RegisterTypeForNavigation больше не существуют для IUnityContainer, а вместо этого для нового IContainerRegistry. При регистрации ваших Сервисов и Представлений в Prism 7 вы должны сделать это в RegisterTypes(IContainerRegistry containerRegistry).

Это фактически дает ряд преимуществ, включая тот факт, что документация остается согласованной для пользователей Prism независимо от того, какой контейнер вы используете. Хотя вы еще не задавали этот вопрос напрямую, я должен упомянуть, что вам следует обратить особое внимание на то, как вы ссылаетесь на Unity. Новый сопровождающий для Unity сильно изменил контейнер, что стало серьезным препятствием для пользователей, переходящих от старых версий Prism к Prism 7, где мы приняли обновленную версию Unity. Это включает разрывы пространства имен, а также полное изменение в зависимом пакете. Если вы непосредственно ссылаетесь на контейнер Unity, пожалуйста, не забудьте удалить его и ссылаться только на пакет, который делает Prism.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...