我目前正在使用我的app.config中的标准NLog配置节处理程序,使用NLog的NET Framework实现。当我想将库迁移到NET Standard时,我查看了源代码,其中有一行
#if !SILVERLIGHT && !__IOS__ && !__ANDROID__ && !NETSTANDARD".
为什么NET Standard程序包不支持NLog.Config.ConfigSectionHandler
?似乎这里没有问题。如果出于某种原因不支持它,那么如果我不能使用默认值,该如何处理NET Standard转换的Section处理程序?
这完全是故意的,因为System.Configuration不是NetStandard的一部分。这就是为什么有一个明确的nuget-package的原因:
https://www.nuget.org/packages/System.Configuration.ConfigurationManager/
NLog 4.5减少了其依赖性,以使其与大多数NetCore平台兼容。即将发布的NLog 5.0将尝试进一步剥离其依赖项。
NetCore应用程序默认情况下使用appsettings.json
,而不是旧版app.config
。可以同时加载NLog-config from appsettings.json和config-settings。
无论您使用的是NetCoreApp还是.NET Framework应用程序,[NLog仍然尝试加载NLog.config from all known locations。
当然,如果您有旧版.NET Framework应用程序,那么NLog将按照您习惯的那样从app.config
加载。