Я пишу DLL, которая загружается сторонним приложением (исполнитель тестов платформы FitNesse, DLL — это тестовое приспособление).
DLL имеет свой собственный файл App.config (скажем, MyDll.dll.config), и я могу указать FitNesse загрузить этот файл App.config.
Но вот проблема: файл App.config содержит обработчик пользовательского раздела конфигурации, например:
<configuration>
<configSections>
<sectionGroup name="myGroup">
<section name="MySection" type="MyNamespace.MyHandler.MySection, MyNamespace.MyHandler"/>
...
</sectionGroup>
</configSections>
...
</configuration>
Всякий раз, когда читается файл App.config, я получаю исключение о том, что сборка MyNamespace.MyHandler не может быть найдена, хотя она находится в той же папке, что и читаемый файл MyDll.dll.config:
System.TypeInitializationException: инициализатор типа для MyNamespace.MyHandler.MySection вызвал исключение. ---> System.Configuration.ConfigurationErrorsException: произошла ошибка при создании обработчика раздела конфигурации для myGroup/MySection: не удалось загрузить файл или сборку «MyNamespace.MyHandler» или одну из ее зависимостей. Система не может найти указанный файл
Я вижу, что система ищет этот файл в той же папке, где находится исполняемый файл, загружающий мою DLL. Однако я не хочу копировать свои файлы в этот сторонний каталог или наоборот.
Есть ли способ указать, где система должна искать библиотеки DLL для интерпретации файла App.config? Мне подойдет как общее решение, так и специальное решение FitNesse.
Заранее большое спасибо за любую помощь!