Конфигурация NLog с дополнительным проектом

В моем решении есть основной проект, который использует NLog, и есть еще один небольшой (независимый) проект, целью которого является обновление свойств <nlog> раздел в файле конфигурации решения. (SolutionName.exe.config)

Я создал классы, которые наследуются от ConfigurationElement, ConfigurationElementCollection и ConfigurationSection, чтобы иметь возможность читать и записывать в файл конфигурации.

Я должен определить раздел NLog в файле конфигурации, иначе NLog не будет работать. Мой файл конфигурации выглядит так:

<configSections>
  <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog" /> <- need to remove this to make it work
  <section name="nlog" type="ReadWriteConfig.NLogSection, ReadWriteConfig" />
</configSections>

Я не могу позволить ReadWriteConfig ссылаться на NLog, его автономное приложение.

Если я запускаю ReadWriteConfig таким образом, он выдает исключение, что он не может найти сборку NLog. Если я удалю NLog <section> это работает отлично.

ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
configFileMap.ExeConfigFilename = @"somepath\SolutionName.exe.config";

// Get current configuration file.
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap, ConfigurationUserLevel.None);

NLogSection myUrlsSection = config.GetSection("nlog") as NLogSection;

Как правильно обращаться с файлом конфигурации?

0 ответов

Другие вопросы по тегам