在我的解决方案中,有一个使用 NLog 的主项目,还有另一个小型(独立)项目,其目的是允许更新<nlog>
解决方案配置文件中该部分的属性。(解决方案名称.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;
处理配置文件的正确方法是什么?