2015-12-08 2 views
0

У меня есть 2 модуля, которые я пытаюсь получить из файла конфигурации приложения.Модуль не найден в каталоге

enter image description here

Изображение свойства проекта для 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 как ресурс, но когда я скомпилирую, я получаю ошибку

Module ModuleA не был найден в каталоге.

Является ли моя конфигурация правильной?

+0

Действительно ли файл сборки ModuleA называется 'ModuleA.ModuleA.dll' или это просто' ModuleA.dll'? – ChrisF

+0

Нет его просто ModuleA.dll. Я просто попробовал имя ProjectName.Name.dll, чтобы убедиться, что это сработало. – user1307149

ответ

0

Прежде всего, рекомендовал бы назвать ваши классы модулей отличными от проекта, чтобы помочь устранить путаницу. Что-то вроде ModuleAModule.cs

Ваш конфиг должен выглядеть следующим образом:

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

Вы также должны убедиться, что вы копируете сборку модуля в исполняющем каталог. Поэтому убедитесь, что у вас есть xcopy в событии сборки сообщения модуля, чтобы скопировать сборку в нужное место.