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中.
有任何想法吗?
这可能是使用反射来根据其类型加载模块.您必须使用完全限定的类型名称进行反射才能工作.这通常是以下格式:"Full.Namespace.TypeName,AssemblyName".这将是最基本的命名.如果这不能解决,那么您必须开始添加addtional属性,包括版本,语言等.
| 归档时间: |
|
| 查看次数: |
4873 次 |
| 最近记录: |