Обработчики разделов конфигурации NLog недоступны в Net Standard - PullRequest
0 голосов
/ 20 января 2020

В настоящее время я использую реализацию NET Framework NLog, используя стандартный обработчик раздела конфигурации NLog в моем app.config. Когда я хочу перенести библиотеку в NET Standard, я посмотрел на исходный код со строкой

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

Почему NLog.Config.ConfigSectionHandler не поддерживается в пакете NET Standard? не похоже, что здесь должна быть проблема. Если это не поддерживается по уважительной причине, как мне go узнать об обработчике Раздела для стандартного преобразования NET, если я не могу использовать значение по умолчанию?

1 Ответ

2 голосов
/ 20 января 2020

Это полностью намеренно, поскольку System.Configuration не является частью NetStandard. Вот почему существует явный пакет nuget:

https://www.nuget.org/packages/System.Configuration.ConfigurationManager/

NLog 4.5 уменьшил свои зависимости, чтобы сделать его совместимым с большинством NetCore -platforms. Предстоящий NLog 5.0 попытается лишить его зависимостей еще дальше.

NetCore-приложения по умолчанию используют appsettings.json вместо устаревших app.config. Можно загрузить NLog-config из настроек приложения. json вместе с config-settings .

NLog все еще пытается загрузить NLog.config из всех известных местоположений , независимо от того, используете ли вы приложение NetCoreApp или. NET Framework.

И конечно, если у вас есть устаревшее приложение. NET Framework, NLog будет загружаться с app.config как вы привыкли.

...