无法检索模块类型错误

Jus*_*ook 5 wpf app-config module

我以棱镜为例; 这是我第一次玩WPF.我写了两个模块; orderModule和orderDetailModule.我能够运行我的应用程序并将它们填充在一个屏幕上,现在我只想加载一个模块并通过单击按钮加载另一个模块.我以前在代码中加载我的模块,然后我注意到prism正在使用xml,所以我也尝试这样做.由于某种原因它无法找到它们,我得到的完整错误是:

Microsoft.Practices.Composite.Modularity.ModuleInitializeException未处理Message ="无法从加载的程序集中检索模块类型NetworkOrderManagement.WPF_Modules.Order,OrderModule.您可能需要指定更完全限定的类型名称."

这是我的app.config中的模块部分:

<modules>
<module assemblyFile="WPFOrderModule.dll" 
        moduleType="NetworkOrderManagement.WPF_Modules.Order, OrderModule" 
        moduleName="OrderModule"/>
<module assemblyFile="WPFOrderDetailModule.dll" 
        moduleType="NetworkOrderManagement.WPF_Modules.OrderDetail, OrderDetailModule" 
        moduleName="OrderDetailModule" 
        startupLoaded="false"/>
Run Code Online (Sandbox Code Playgroud)

来自链接文字

在模块配置部分中,定义您的模块.为此,请添加模块XML元素.该元素具有以下属性:

assemblyFile.此属性指定模块程序集的位置.此属性是必需的.

moduleType.此属性指定模块的程序集中实现IModule接口的类型.此属性是必需的.

MODULENAME.此属性指定模块的名称.此属性是必需的.

startupLoaded.此属性指定模块是否在启动时加载.如果其值为true(这是默认值),则应在启动时加载模块.如果其值为false,则不应在启动时加载模块; 相反,它应该按需加载.此属性不是必需的.

我实现IModule的OrderModule位于名称空间NetworkOrderManagement.WPF_Modules.Order中.

有任何想法吗?

Ada*_*les 6

这可能是使用反射来根据其类型加载模块.您必须使用完全限定的类型名称进行反射才能工作.这通常是以下格式:"Full.Namespace.TypeName,AssemblyName".这将是最基本的命名.如果这不能解决,那么您必须开始添加addtional属性,包括版本,语言等.