0

我正在尝试创建一个 WCF RIA Services + Prism v4 应用程序,其中项目的布局如下:

客户端

模块(目前只有一个):

Project.Modules.Clients(包含指向我的 Project.Web 应用程序的 WCF RIA 服务链接,并且依赖于服务器端 Project.Web 项目)

壳牌项目

Project.Shell(包含指向我的 Project.Web 应用程序的 WCF RIA 服务链接,并且依赖于 Project.Modules.Client 模块和 Project.Web 项目。还包含在我继承的 UnityBootstrapper 中使用的模块目录 XAML 文件)

服务器端

主要网络项目

Project.Web(包含我的 WCF RIA 服务、DataModel 等)

问题

为什么我需要从我的 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 中对我的模块进行这样的引用,我们将不胜感激。

谢谢。

4

1 回答 1

0

你是对的,问题涉及我的 .xap 文件。我的Web 应用程序的Silverlight 项目链接是如何被破坏和搞砸的。

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

于 2011-09-08T01:05:41.087 回答