当前位置:  开发笔记 > 编程语言 > 正文

LogManager.configuration为null

如何解决《LogManager.configuration为null》经验,为你挑选了1个好方法。

我已经使用nuget将NLog添加到项目中并添加了NLog.config.我正在运行调试器并得到一个NullReferenceException由于事实LogManager.Configuration是null:

LogManager.Configuration.AddTarget("sentinel", sentinalTarget);

这行代码在静态构造函数中运行.

NLog.config位于web.config旁边的项目根目录中.

这发生在visual studio调试器中

NLog.config属性"复制到输出目录"="始终复制"

我更新了NLog.config throwExceptions ="true",并且在运行时LogManager.ThrowExceptions是假的,所以我怀疑配置有问题

尝试删除名称为:viewer,DbWin及其相关规则的目标

NLog.config内容:




  

  
    

    

    

    
      
    
  
  
    
    
    
    
  

更新
我发现了源.仅在运行单元测试时才会出现此问题.运行完整的应用程序(Web应用程序)问题不存在.我将NLog.config文件复制到单元测试主目录.运行单元测试时仍然存在问题.



1> P.Brian.Mack..:

将NLog.config复制到Test projects顶级文件夹

添加DeploymentItemAttribute到测试类(更多信息)

像这样:

[TestClass]
[DeploymentItem("ProjectName\\NLog.config")]
public class GeneralTests

或者,您可以以编程方式加载配置:

LogManager.Configuration = new XmlLoggingConfiguration(@"c:\path\to\NLog.config")

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有