#c# #reflection #app-config #configurationmanager #system.reflection
#c# #отражение #app-config #configurationmanager #system.reflection
Вопрос:
У меня есть приложение Windows под названием TechReader
. Его конфигурационный файл TechReader.exe.config
. Некоторые части конфигурации хранятся в других конфигурационных файлах. Итак, я ссылаюсь на этот конфигурационный файл из раздела конфигурации, созданного в exe.config.
<TechReader.ProviderConfiguration file="localProvider.config"/>
Теперь я хочу загрузить всю конфигурацию моего приложения, используя отражение. Я использую код, подобный этому.
Assembly techReaderAssembly = Assembly.GetAssembly(typeof(TechReaderStarter));
ConfigurationManager.OpenExeConfiguration(techReaderAssembly .Location);
TechReaderStarter
класс определен в проекте, результатом которого является приложение Windows, а не библиотека.
Когда я использую приведенный выше код, я получаю TargetInvocationException
и ConfigurationErrorsException
- Правильный ли подход?
OpenExeConfiguration
Загрузится ли окончательная конфигурация, созданная путем объединения exe.config и другого файла конфигурации, на который ссылается ссылка?- Как я могу добиться этого?
Примечание: я хочу использовать это приложение Windows для установки в качестве службы Windows. Я пытаюсь прочитать конфигурацию в ServiceInstaller
классе (классе, который наследуется ServiceInstaller
), чтобы такие детали, как имя службы, упомянутое в конфигурации службы, были доступны installutil
. Для этого я должен использовать отражение, чтобы получить точную конфигурацию сервиса.