Я пытаюсь создать приложение WCF RIA Services + Prism v4, в котором проекты расположены следующим образом:
Клиентская сторона
Модули (пока только один):
Project.Modules.Clients (содержит ссылку служб WCF RIA на мое приложение Project.Web и зависит от серверного проекта Project.Web)
Shell Project
Project.Shell (содержит ссылку служб WCF RIA на мое приложение Project.Web и зависит от модуля Project.Modules.Client и проекта Project.Web. Также содержит файл XAML каталога модулей, используемый в моем унаследованном UnityBootstrapper)
Сторона сервера
Основной веб-проект
Project.Web (Содержит мои службы WCF RIA, DataModel и т. Д.)
Вопрос
Зачем мне ссылаться на проекты модулей из моего проекта оболочки? Разве это не противоречит цели инициализации динамического модуля? Я попытался подписаться вместе с несколькими примерами проектов и постами в блогах, в том числе:
http://telecosystems.codeplex.com
и сопровождающее сообщение в блоге здесь:
http://bachelorthesis.zdechovan.com/prism-solution-based-on-the-business-application-template/
а также запись блога Дэвида в MSDN здесь:
http://blogs.msdn.com/b/dphill/archive/2009/08/17/prism-and-net-ria-services.aspx
То, что происходит, когда я не включаю ссылку, является исключением, таким образом:
Resolution of the dependency failed, type = "Project.Modules.Clients.ClientsModule", name = "(none)". Exception occurred while: while resolving. Exception is: InvalidOperationException - The current type, Microsoft.Practices.Prism.Regions.IRegionManager, is an interface and cannot be constructed. Are you missing a type mapping?
Так что, очевидно, Unity не может подобрать модуль, хотя я трижды проверил загрузчик и файл каталога модулей.
Буду весьма признателен за любые указания на то, что я могу делать неправильно, чтобы требовать такую ссылку на мои модули из моей оболочки.
Спасибо.