Можно ли получить доступ к файлу app.config, когда exe-файл используется в качестве DLL? - PullRequest
1 голос
/ 10 декабря 2011

У меня есть приложение командной строки, которое считывает некоторые настройки из файла app.config, используя обычные свойства Properties.Settings.blabla.

Это приложение также используется в качестве DLL.

Когда я использую его как dll, он игнорирует любой файл foo.exe.config, который я помещаю в каталог. Он не выдает исключение, как я ожидал, при использовании методов, которые обращаются к файлу конфигурации, но он также не принимает файл конфигурации.

Есть ли способ заставить exe-файл, который используется в качестве dll, потреблять свой собственный файл настроек, и при этом использовать файл app.config при его использовании? Я не хочу менять ни потребительский код, а хочу как можно меньше повлиять на исполняемый код.

Я видел решения, использующие ConfigurationManager.OpenMappedExeConfiguration Метод или OpenExeConfiguration, решение использует эти методы внутри exe-кода? Таким образом, он всегда будет искать файл конфигурации, независимо от того, используется ли он как dll или exe?

1 Ответ

1 голос
/ 10 декабря 2011

Если вы хотите это сделать, вам нужно прочитать именно из этого файла.Исполняемый файл .NET читает из своего собственного app.config файла.Код библиотеки всегда читает из файла app.config выполняемого приложения ... даже код библиотеки, который, как оказалось, был скомпилирован в файл с расширением .exe.

Правка для выделения / уточнения Когда я говорю о app.config, я, конечно, говорю о соответствующем переименованном файле [program.exe.config].

...