Я создал dll, который будет использоваться несколькими приложениями, и создал пакет установщика, который устанавливает его в файлы программы, а также добавляет его в глобальный кэш сборок.
Сама dll использует log4net и требует xml-файла для определения регистрации.
Поэтому при запуске установщика следующие файлы копируются в каталог установки внутри файлов программы:
Основная dll, которую я разработал
- Log4Net.dll
- файл Log4Net.xml
У меня сейчас проблема. Я создал тестовое консольное приложение для экспериментов. Я добавил свою dll в качестве ссылки и установил флаг 'local copy' в false.
Однако, когда я компилировал exe тестовой консоли, я заметил, что он скопировал файлы log4net.dll и log4net.xml в каталог bin. И при запуске тестовой консоли кажется, что она будет работать, только если log4net.dll находится в том же каталоге, что и exe. Это несмотря на тот факт, что тестовое консольное приложение не использует log4net, только dll, добавленная в качестве ссылки.
Есть ли какой-нибудь способ сделать так, чтобы используемые файлы log4net.dll и xml были теми, которые были установлены в файлы программы, а не любым приложением, необходимым для копирования поверх локальных копий? Приложения, которые будут использовать мою dll, не будут использовать log4net, ее использует только dll, на которую они ссылаются.
Большое спасибо