bluealga_vx 2022-05-28 18:48 采纳率: 66.7%
浏览 118
已结题

对带log4net日志输出的类库,C#单元测试异常,log4net初始化异常。

问题遇到的现象和发生背景

用一个窗体程序调用类库,可以正常输出,但是用c#的单元测试来调用类库就出错。

问题相关代码,请勿粘贴截图

using Microsoft.VisualStudio.TestTools.UnitTesting;

using MyBase;

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
namespace TestProject1
{
[TestClass]
public class UnitTest1
{
[TestMethod]
public void TestMethod1()
{

        log4net.Config.XmlConfigurator.Configure(); // log4net

        Class1 c = new Class1();
        c.TestLog();
    }
}

}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MyBase
{
public class Class1
{
public void TestLog()
{
LogHelper.WriteSysLog("Class1.TestLog()");
}
}
}

运行结果及报错内容

代码:log4net.Config.XmlConfigurator.Configure(); 执行异常,信息如下:

System.TypeInitializationException
HResult=0x80131534
Message=The type initializer for 'log4net.Core.LoggerManager' threw an exception.
Source=log4net
StackTrace:
at log4net.Core.LoggerManager.GetRepository(Assembly repositoryAssembly)
at log4net.LogManager.GetRepository(Assembly repositoryAssembly)
at log4net.Config.XmlConfigurator.Configure()
at TestProject1.UnitTest1.TestMethod1() in C:...TestProject1\UnitTest1.cs:line 16

内部异常 1:
TypeInitializationException: The type initializer for 'log4net.Util.SystemInfo' threw an exception.

内部异常 2:
FileNotFoundException: Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. 系统找不到指定的文件。

我的解答思路和尝试过的方法

1、检查过,测试程序的同级目录有log4net.config文件;
2、原来用FORM程序,调用类库可以正常输出日志。

我想要达到的结果

希望能够单元测试带有log4net的类库。

  • 写回答

3条回答 默认 最新

查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 6月23日
  • 已采纳回答 6月15日
  • 创建了问题 5月28日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装