第三方库引用不同版本的log4net.dll

Joe*_* B. 16 c# log4net

我有两个对我的应用程序至关重要的库,这些库依赖于不同版本的log4net.dll.当我正在使用的第三方片段被调用时,尝试我的bin文件夹中的两个dll都会出现常见错误:

无法加载文件或程序集'log4net,Version = 1.2.10.0,Culture = neutral,PublicKeyToken = 1b44e1d426115821'或其依赖项之一.定位的程序集的清单定义与程序集引用不匹配.(HRESULT异常:0x80131040)

有没有办法让应用程序可以引用这两个dll?第三方dll是Windsor的IOC容器和Paypal的API,这两者对这个应用程序至关重要.

wag*_*ghe 9

这个问题可能会有一些帮助你的答案.

在同一解决方案中引用2个不同版本的log4net

另外,如果是温莎的日志记录工具是依赖于log4net的,而不是温莎本身,你也许可以基于API的PayPal使用,并告诉温莎改用该版本的log4net的编写自己的log4net的抽象.

这里是log4net的抽象的城堡的源代码库的位置: https://github.com/castleproject/Castle.Core/tree/master/src/Castle.Services.Logging.log4netIntegration

我不使用城堡,所以我不能告诉你如何配置它引用您自己的log4net的抽象,但我敢打赌,这是不是太困难的(假设它是可能的).

这是SO上另一篇文章的链接,描述了使用log4net配置Castle.它还简要介绍了如何编写自定义日志记录工具:

使用Castle.Facilities.Logging和log4net进行日志记录

祝好运!