我尝试从应用配置文件中访问2个模块。
图像是ModuleA的项目属性。
解决方案名称为SampleApp
项目是ModuleA,Class是ModuleA(ModuleB相同)
配置看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="modules" type="Prism.Modularity.ModulesConfigurationSection, Prism.Wpf" />
</configSections>
<modules>
<module assemblyFile="ModuleA.ModuleA.dll" moduleType="ModuleA.ModuleA, ModuleA.ModuleA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="ModuleA" startupLoaded="false" />
<module assemblyFile="ModuleB.ModuleB.dll" moduleType="ModuleB.ModuleB, ModuleB.ModuleB, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="ModuleB" startupLoaded="false">
<dependencies>
<dependency moduleName="ModuleA"/>
</dependencies>
</module>
</modules>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
</startup>
</configuration>
我将congif文件设置为资源,但是当我编译时,我收到错误
目录中找不到模块ModuleA。
我的配置是否正确?
答案 0 :(得分:0)
首先,建议命名与项目不同的Module类,以帮助消除混淆。像ModuleAModule.cs
这样的东西您的配置应如下所示:
<module assemblyFile="Assembly.dll" moduleType="Assembly.ModuleName, Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="ModuleName" startupLoaded="true"/>
您还需要确保将Module程序集复制到执行目录中。因此,请确保在Module post build事件中有一个xcopy,以将程序集复制到正确的位置。