C# 在目录中找不到模块

C# 在目录中找不到模块,c#,wpf,prism,mef,C#,Wpf,Prism,Mef,我有两个模块,我正试图从应用程序配置文件访问 图像是ModuleA的项目属性 解决方案名称为SampleApp 项目为ModuleA,类为ModuleA(与ModuleB相同) 配置如下所示 <?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="modules" type="Prism.Modularity.Mod

我有两个模块,我正试图从应用程序配置文件访问

图像是ModuleA的项目属性

解决方案名称为SampleApp

项目为ModuleA,类为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


我的配置正确吗?

首先,我建议您将模块类命名为与项目不同的名称,以帮助消除混淆。类似moduleModule.cs的东西

您的配置应如下所示:

<module assemblyFile="Assembly.dll" moduleType="Assembly.ModuleName, Assembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" moduleName="ModuleName" startupLoaded="true"/>


您还需要确保您正在将模块程序集复制到执行目录中。因此,请确保在模块生成后事件中有一个xcopy来将程序集复制到正确的位置。

ModuleA的程序集文件实际名为
ModuleA.ModuleA.dll
,还是它只是
ModuleA.dll
?不是它只是ModuleA.dll。我只是想看看ProjectName.Name.dll是否有效。