log4net与.NET 4.0的集成

28

我写了一些代码来尝试新的 .Net 4.0/VS 2010 特性,但是我找不到我想用的日志框架(log4net)的4.0版本,在使用2.0版本时,我遇到了引用错误。请问是否有可用的4.0版本?我并不需要新功能,只需要一个已经基于新的程序集重新构建的版本。请问有谁知道在哪里可以找到针对4.0框架构建的1.2.10版本?


我记得在2.0/4.0兼容性中看到过in-proc side-by-side,但似乎无法让我的4.0代码引用2.0的log4net库。 - Jonathan Rupp
你尝试过将log4net源代码项目通过VS2010的升级流程运行吗? - RCIX
我从SVN服务器拉取了1.2.10版本的源代码,并通过升级过程运行它。看起来只要我定义_NET_2_0符号并添加属性以获得Level1安全执行规则,就可以工作。显然,完整的4.0更新需要更多的工作,所以我希望有人已经开始做这项工作。 - Jonathan Rupp
1个回答

39

log4net存在一个已知问题,即引用了一个不属于.NET Framework 4 Client Profile的System.Web组件。而VS2010默认将项目目标设置为轻量级客户端框架(Client Profile)。 解决方案是将目标更改为.NET Framework 4:

右键单击项目->属性->应用程序。 更改:

 .NET Framework 4 Client Profile

成为:

 .NET Framework 4

...那应该可以了,也就是说你可以再次使用log4net...


我应该说,最新的版本已经增加了对客户端配置文件的支持,所以没有必要针对完整版进行目标定位。 - Sasha Reminnyi
4
今天下载了最新版本,不支持使用.NET 4.0的ClientProfile。 - Dzmitry
6
我刚下载了最新的二进制文件(1.2.11),其中包含一个与4.0客户端框架兼容的版本,位于\bin\net-cp\4.0\release目录下。我刚测试过它,运行得非常好! - SvenG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接