NLog配置节处理程序在网络标准中不可用

问题描述 投票:0回答:1

我目前正在使用我的app.config中的标准NLog配置节处理程序,使用NLog的NET Framework实现。当我想将库迁移到NET Standard时,我查看了源代码,其中有一行

#if !SILVERLIGHT && !__IOS__ && !__ANDROID__ && !NETSTANDARD". 

为什么NET Standard程序包不支持NLog.Config.ConfigSectionHandler?似乎这里没有问题。如果出于某种原因不支持它,那么如果我不能使用默认值,该如何处理NET Standard转换的Section处理程序?

c# .net nlog .net-standard
1个回答
2
投票

这完全是故意的,因为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.jsonconfig-settings

无论您使用的是NetCoreApp还是.NET Framework应用程序,[NLog仍然尝试加载NLog.config from all known locations

当然,如果您有旧版.NET Framework应用程序,那么NLog将按照您习惯的那样从app.config加载。

© www.soinside.com 2019 - 2024. All rights reserved.