2016-12-20 20 views
1

В настоящее время я создаю общую библиотеку из своей работы, которая будет использовать абстрактный журнал с использованием NLog.Библиотека .NET Core Class с таргетингом NLog .Net 4.6.1

Я создал библиотеку классов .NET Core, ориентированную на .NET 4.6.1, и реализовал NLog, но когда я пытаюсь выполнить единичный тест, который я создал, я заметил, что файл nlog.config не поднимается. Я также следовал инструкциям, указанным https://github.com/NLog/NLog.Extensions.Logging, но я заметил, что он предназначен только для Asp.Net Core, а не для решения .NET Core Class Library.

Мой вопрос в том, что (учитывая, что я впервые наступил на ядро ​​.NET) указаны инструкции, указанные в ссылке выше, применимые для библиотек классов .Net Core, или есть другой способ реализовать это?

Или я должен в конечном итоге не использовать .Net Core и вместо этого использовать более традиционную реализацию библиотеки .NET Class?

Большое спасибо!

ответ

1

Я создал библиотеку классов .NET Core, ориентированную на .NET 4.6.1, и реализовал NLog, но когда я пытаюсь выполнить единичный тест, который я создал, я заметил, что nlog.config file

Сложно найти конфигурационный файл при работе в качестве модульного теста. Различные структуры используют разные местоположения. Возможны следующие варианты:

  1. Вручную найти местоположение файла конфигурации, как передать его в NLog. Используйте

    LogManager.Configuration = new XmlLoggingConfiguration(filePath, true); 
    

    вместо ConfigureNLog() или

  2. Создание конфигурации с the API или
  3. Создание XML как строку и кормить его NLog: вместо ConfigureNLog, используйте

    XElement element = XElement.Parse(configXml); 
    LogManager.Configuration = new XmlLoggingConfiguration(element.CreateReader(), "nlog.config"); 
    

Я не знаю что он предназначен только для Asp.Net Core, а не для решения библиотеки .NET Core Class.

Работает с ASP.NET или без него. Части ASP.NET will be moved to the NLog.Web package in the future

+0

Спасибо Julian! Попробуем вариант №1 и идем оттуда. – mallows98