我正在尝试创建一个WCF RIA服务+ Prism v4应用程序,其中项目布局如下:
客户端模块(目前只有一个):
Project.Modules。客户端(包含到我的项目的WCF RIA服务链接)。Web应用程序,依赖于服务器端项目。Web项目)
壳牌项目
项目。Shell(包含一个WCF RIA服务链接到我的项目。Web应用程序,并依赖于Project. modules . client模块和Project。Web项目。还包含模块目录XAML文件使用在我继承的UnityBootstrapper)
服务器端主Web项目
项目。Web(包含我的WCF RIA服务、数据模型等)
为什么我需要从shell项目中引用模块项目?这难道不是违背了动态模块初始化的目的吗?我尝试了以下几个示例项目和博客文章,包括:
http://telecosystems.codeplex.com和相应的博客文章:
http://bachelorthesis.zdechovan.com/prism-solution-based-on-the-business-application-template/以及David的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似乎不能选择模块,尽管我已经三次检查了我的引导程序和模块目录文件。
任何指针,我可能做错了什么,需要这样的引用回到我的模块从我的shell将非常感激。
谢谢。
你是对的,这个问题涉及到我的。xap文件。不知怎么的,我的Web应用程序的Silverlight项目链接被卡住了,把一切都搞砸了。
一旦我修复了链接,这解决了我所有的问题。