小编Bif*_*aut的帖子

从Visual Studio/Microsoft Test Framework运行时,Log4net无法找到配置文件

我们正在为在.NET 4.0下运行的业务层编写单元测试.业务层是一个简单的C#类库,通常在SOAP和REST Web服务中运行.我们的应用程序在单独的包装程序集中使用log4net进行日志记录.日志程序集中的C#代码有一个程序集信息指令,告诉log4net配置文件的名称,la-

[assembly:log4net.Config.XmlConfigurator(ConfigFile ="AcmeLogging.config",Watch = true)]

通过包装器初始化log4net在Web服务中工作正常.当我们使用单元测试程序集初始化它时,它似乎看不到配置文件.configuratino文件是通过要复制到执行目录的属性配置的,我们确实在bin\debug目录中看到它.使用从同一文件夹中运行的日志记录程序集的快速控制台测试程序可以正常工作.奇怪的是,行为问题是间歇性的,并且在不同的时间出现在不同的开发者的机器上,并且无法以任何确定的方式治愈.

单步执行包装程序集代码后,log4netLogManager.GetLogger()调用似乎正确返回,但log.Logger.Repository.GetAppenders()返回的appender列表为空.由于这个不正确的行为是相同的,无论文件是否在Bin\Debug文件夹中,我们认为它没有看到该文件.

关于我们在Microsoft测试框架中运行log4net所缺少的任何线索将不胜感激.

configuration log4net unit-testing

7
推荐指数
1
解决办法
3444
查看次数

标签 统计

configuration ×1

log4net ×1

unit-testing ×1