Мне очень тяжело пытаться получить доступ к настраиваемому разделу конфигурации в моем файле конфигурации.
Файл конфигурации считывается из .dll, загружаемого в качестве подключаемого модуля. Я создал Конфигурацию и необходимый код, используя Дизайнер раздела конфигурации VS addin.
Пространство имен - "Импортконфигурация". Класс ConfigurationSection - "ImportWorkflows". Сборка - ImportEPDMAddin.
xml:
<configSections>
<section name="importWorkflows" type="ImportConfiguration.ImportWorkflows, ImportEPDMAddin"/>
</configSections>
Всякий раз, когда я пытаюсь прочитать в конфиге, я получаю ошибку:
Произошла ошибка при создании обработчика раздела конфигурации для importWorkflows: Не удалось загрузить файл или сборку "ImportEPDMAddin.dll" или одну из его зависимостей. Система не может найти указанный файл.
DLL не будет находиться в том же каталоге, что и исполняемый файл, поскольку программное обеспечение, загружающее плагин, помещает DLL и его зависимости в свой собственный каталог. (Я не могу это контролировать.)
Я редактировал код для экземпляра singleton следующим образом:
string path = System.Reflection.Assembly.GetCallingAssembly().CodeBase;
path = path.Replace("file:///", "");
System.Configuration.Configuration configuration = System.Configuration.ConfigurationManager.OpenExeConfiguration(path);
return configuration.GetSection(ImportWorkflowsSectionName) as ImportConfiguration.ImportWorkflows;
Я также пробовал использовать простой NameValueFileSectionHandler, но я получаю исключение, говоря, что он не может загрузить файл или сборку "Система".
Я читал множество сообщений и статей в блогах, и похоже, что можно прочитать файл конфигурации для dll, но я просто не могу заставить его работать. Есть идеи? Спасибо.