Silverlight 4 + WCF RIA服务+ Prism v4为什么我需要一个模块依赖于我的shell



我正在尝试创建一个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项目链接被卡住了,把一切都搞砸了。

一旦我修复了链接,这解决了我所有的问题。

最新更新