.net core 具有NLog目标.NET 4.6.1的.NET核心类库

.net core 具有NLog目标.NET 4.6.1的.NET核心类库,.net-core,nlog,class-library,.net Core,Nlog,Class Library,我目前正在根据我的工作创建一个公共库,该库将使用NLog实现一个抽象的记录器 我创建了一个以.NET 4.6.1为目标的.NET核心类库并实现了NLog,但是当我尝试执行我创建的单元测试时,我注意到NLog.config文件没有被提取。我也遵循了说明,但我注意到它只针对Asp.NETCore,而不是针对.NETCore类库解决方案 我的问题是,(考虑到这是我第一次涉足.NETCore),上面链接上的说明是否也适用于.NETCore类库,或者是否有其他方法来实现这一点 或者我最终应该不使用.NET

我目前正在根据我的工作创建一个公共库,该库将使用NLog实现一个抽象的记录器

我创建了一个以.NET 4.6.1为目标的.NET核心类库并实现了NLog,但是当我尝试执行我创建的单元测试时,我注意到NLog.config文件没有被提取。我也遵循了说明,但我注意到它只针对Asp.NETCore,而不是针对.NETCore类库解决方案

我的问题是,(考虑到这是我第一次涉足.NETCore),上面链接上的说明是否也适用于.NETCore类库,或者是否有其他方法来实现这一点

或者我最终应该不使用.NETCore,转而使用更传统的.Net类库实现吗

非常感谢

我创建了一个以.NET 4.6.1为目标的.NET核心类库并实现了NLog,但是当我尝试执行我创建的单元测试时,我注意到NLog.config文件

当作为单元测试运行时,很难找到配置文件。不同的框架使用不同的位置。以下选项应该有效

  • 手动查找配置文件位置,并将其传递给NLog。使用

    LogManager.Configuration=新的XmlLoggingConfiguration(文件路径,true);
    
    而不是
    ConfigureNLog()
    ,或者

  • 使用或创建配置
  • 将XML创建为字符串并将其馈送到NLog:使用

    XElement元素=XElement.Parse(configXml);
    LogManager.Configuration=newXMLLoggingConfiguration(element.CreateReader(),“nlog.config”);
    
  • 我注意到它只针对Asp.NETCore,而不针对.NETCore类库解决方案


    它可以使用或不使用ASP.NET。ASP.NET部分

    谢谢朱利安!将尝试选项1并从那里开始。