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



Answers

您可以向注册表添加排除项。 只需添加以下键:

HKEY_LOCAL_MACHINE\Software\Microsoft\StrongName\Verification\log4net,681549d62126b7b8
HKEY_LOCAL_MACHINE\Software\Microsoft\StrongName\Verification\log4net,1b44e1d426115821
HKEY_LOCAL_MACHINE\Software\Microsoft\StrongName\Verification\log4net,669e0ddf0bb1aa2a

这将使.net运行时跳过对列出的程序集的验证。 从理论上讲,这是一个安全问题,但由于私钥无论如何都是公开的,因此几乎没有任何影响。

Question

我正在使用引用log4net 1.2.10.0的NHibernate 2.1.2.400。 在同一个项目中,我也使用简单的会计SDK,遗憾的是它仍然使用log4net 1.2.9.0。

因此,如果我引用log4net 1.2.10.0但是simpleSDK不起作用,我可以让NHibernate工作。 反之亦然......

我猜大多数问题都来自于log4net改变了它的汇编密钥。 我尝试使用绑定重定向但没有成功:2个DLL没有相同的密钥。

我正在考虑重新编译NHibernate以使用log4net 1.2.9.0,但这似乎是错误的做法,我的感觉是Simply Accounting不会更新他们的SDK以便很快使用log4net 1.2.10.0。

处理这个问题的最佳方法是什么? 有可能解决吗?






Related