我有一个非常基本的 prism 应用程序,我试图将其用作大型项目的开始。我有一个外壳,其中定义了一个名为“MainContent”的区域。项目中有3个模块。一个 MainMenuModule、一个 MovieModule 和一个 TVModule。Movie 和 TV 模块依赖于 MainMenuModule。使用 DirectoryModuleCatalog 加载模块。包含 TVModule 时会出现此问题,更具体地说,当调用 TVModule 的构造函数时会引发异常。下面的构造函数会抛出错误:
public TVModule(IUnityContainer container, IRegionManager manager)
{
_container = container;
_manager = manager;
}
如果我将构造函数更改为以下内容,则不会出现异常,并且 TVModule 会按预期加载。
public TVModule(IRegionManager manager)
{
_manager = manager;
}
当 Unity 尝试解析 IUnityContainer 时抛出我得到的异常。真正让我困惑的是,MovieModule 的构造器与 TVModule 的构造器完全相同,但可以毫无问题地工作。异常详细信息。
{“依赖项解析失败,type = \"TVModule.TVModule\", name = \"(none)\"。异常发生时:解析时。异常是:InvalidOperationException - 当前类型,Microsoft.Practices.Unity。 IUnityContainer,是一个接口,不能构造。你是不是缺少类型映射?在异常的时候,容器是:
Resolving TVModule.TVModule,(none) Resolving parameter \"container\" of constructor TVModule.TVModule(Microsoft.Practices.Unity.IUnityContainer container, Microsoft.Practices.Prism.Regions.IRegionManager manager) Resolving Microsoft.Practices.Unity.IUnityContainer, (没有任何) ”}
{“当前类型,Microsoft.Practices.Unity.IUnityContainer,是一个接口,无法构造。你是否缺少类型映射?”}
编辑:我已将我的源代码的副本上传到此处的保管箱