最近弄个VS2010项目,想用log4net来记录日志。现在最新的官方版本是log4net-1.2.10,在net2.0编译方式下没问题。如果要在vs2010中使用,那就得要费点劲了。
下面是我成功使用的过程。
首先去网站下载好log4net-1.2.10源码,编译源码前要进行以下修改:
1.在源码项目添加“System.configuration”空间引用
2.在项目属性的生成标签页中(log4net项目按右键,点属性,选生成标签),将条件编译符号定义修改成:NET;NET_2_0;NET_4_0
同时修改输出路径为../build/bin/net/4.0/debug/
3.在项目属性的应用程序标签页中,将目标框架修改成.NET Framework 4, 注意使用 .NET 4 Client Profile 将导致有问题。
4.在项目的config目录下找到 XmlConfigurator.cs,打开它,在 623行左右替换 settings.ProhibitDtd = false; 在#elif NET_2_0 判断后加入.Net4新属性,修改成如下:
#elif NET_2_0
// Allow the DTD to specify entity includes
XmlReaderSettings settings = new XmlReaderSettings();
#if NET_4_0
settings.Dtd