Если вдруг вы используете два .exe приложения в решении Visual Studio где один проект ссылается на другой (т.е. использует его открытые классы) то может возникнуть проблема с компиляцией конфигурационного файла того проекта на который вы ссылаетесь.
Например:
Есть проект Master, расположен в С:\MasterAndSlave\Master
Есть проект Slave, расположен в C:\MasterAndSlave\Slave
Оба они расположены в одном решении MasterAndSlave при этом Master ссылается на Slave.
У проекта Slave есть конфигурационный файл App.config который содержит нужные Slave параметры для работы.
При компиляции проекта Master в его bin\[Имя конфигурации] директории мы получим список файлов:
- Master.exe - исполняемый файл основного проекта
- Master.vshost.exe - файл для работы в режиме Debug (если не выбрана конфигурация Release)
- Master.exe.config - конфигурационный файл Master-а
- Slave.exe - исполняемый файл Slave
- Slave.exe.config - конфигурационный файл Slave-а
Решается проблема не очень сложно, нужно добавить к событию AfterBuild копирование нужно нам файла конфига.
Отрываете файл проекта Master.csproj/vbproj в любом текстовом редакторе и добавляете следующие изменения:
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)\[Slave_Folder]\bin\$(Configuration)\[Slave_exe_file_name].exe.config"
DestinationFolder="$(TargetDir)" />
</Target>
Что для вышеописанного примера выглядит так:
<Target Name="AfterBuild">
<Copy SourceFiles="$(ProjectDir)\Slave\bin\$(Configuration)\Slave.exe.config"
DestinationFolder="$(TargetDir)" />
</Target>
Комментариев нет:
Отправить комментарий