相关疑难解决方法(0)

我如何解决log4net不断改变publickeytoken

我们有一个asp.net 4.0项目,它使用了几个依赖于log4net 1.2.10.0版本的框架.今天我尝试包含一个依赖于log4net版本1.2.11.0的新框架,从那时起我就被困住了:

log4net 1.2.10.0有publickeytoken = 1b44e1d426115821

log4net 1.2.11.0有publickeytoken = 669e0ddf0bb1aa2a

由于这些不同,我不能通过web.config中的运行时元素使用程序集重定向(使所有框架使用相同版本的log4net)或代码库(仅使新框架使用版本1.2.11.0).

我有什么选择?

(以及为什么哔哔声会让log4net不断更改版本之间的publickeytokens,因为据我所知,丢失的密钥是在1.2.9.0和1.2.10.0版本之间切换的原因,他们是否再次丢失密钥?我会自愿提供我的Dropbox如果他们需要它,以保证安全......)

编辑:好的,所以log4net的人显然认为用两个密钥发布是一个好主意,但这意味着你使用的每个框架需要就他们喜欢的两种风格中的一种达成一致,或者那些框架不能正常工作在同一个应用程序域中.我是唯一发现这个可怕想法的人吗?如果每个人都这样做,那么一切都会崩溃,对吧?

Edit2:正如我所说,我没有在我的业务代码中使用log4net,但是我使用了几个依赖于1.2.10.0的框架,当我尝试使用依赖于1.2.11.0的新框架时出现问题(新密钥) ),所以Stefans的回答并不适用,因为新的框架会期望新的密钥,而不是旧的密钥

.net dll log4net publickeytoken

98
推荐指数
3
解决办法
3万
查看次数

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

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

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

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

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

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

.net nhibernate dll log4net

77
推荐指数
2
解决办法
3万
查看次数

标签 统计

.net ×2

dll ×2

log4net ×2

nhibernate ×1

publickeytoken ×1