Это НЕ работает, как вы упомянули в вопросе.
У вас может возникнуть ощущение, что вы можете загрузить файл DLL.Config, но он не загружается приложением, но, вероятно, он работает, потому что у вас есть тот же раздел appsettings в app.config приложения. По умолчанию каждый домен приложения имеет конфигурационный файл и в основном его имя по имени exe (поэтому имя будет applicationname.exe.config .
По умолчанию это файл, загруженный платформой .net для чтения конфигураций.
Следовательно, я бы не советовал поддерживать файл .dll.config
Теперь у вас есть две альтернативы для достижения того, чего вы хотите достичь:
Вариант 1. Вы можете поддерживать отдельные файлы конфигурации для каждого раздела конфигурации
Каждый класс, унаследованный от ConfigurationSection, имеет свойство с именем «configSource». В main application.exe.config вы можете указать пользовательский раздел, как показано ниже:
<CustomSection configSource="{relative file name}" />
<appSettings file = "relative file name" />
Таким образом, вы можете сохранить разделы конфигурации разделенными на несколько файлов конфигурации, и вы все равно сможете получить к ним доступ, используя обычный синтаксис system.configuration.
Подробнее см. .
Вариант 2: изменить exe по умолчанию
файл конфигурации по умолчанию с именем application.exe.config.
Его можно изменить, используя следующий синтаксис
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", path);
Таким образом, вы можете установить любой другой xml-файл в качестве конфигурационного файла для программы.
Обратите внимание, что вы должны вызывать этот метод SetData перед первым вызовом классов конфигурации (то есть до того, как система прочитает файлы конфигурации). Вы можете установить свой .dll.config в качестве файла конфигурации приложения и прочитать весь раздел конфигурации оттуда. См. this для получения более подробной информации об опции 2.
Надеюсь, это даст достаточно информации.