我们有一个 asp.net 4.0项目,它使用了一些依赖于 log4net 1.2.10.0版本的框架。今天我试图包含一个新的框架,这个框架依赖于 log4net 1.2.11.0版本,从那以后我就一直被卡住了:
Log4net 1.2.10.0具有 pubickeytoken = 1b44e1d426115821
Log4net 1.2.11.0有 pubickeytoken = 669e0ddf0bb1aa2a
由于这些不同,我不能通过 web.config 中的运行时元素使用汇编重定向(使所有框架使用相同版本的 log4net)或代码库(使新框架使用1.2.11.0版本)。
我还有什么选择?
(还有为什么 log4net 在不同版本之间不断地更改 public 密钥,据我所知,一个丢失的密钥是在1.2.9.0和1.2.10.0之间切换的原因,他们又丢失密钥了吗?如果他们需要的话,我会主动提供我的投递箱来保证它的安全... ...)
编辑: 好吧,log4net 的人显然认为用两个键发布是一个好主意,但这意味着 每个框架需要使用他们喜欢的两种风格的 哪个,或者这些框架不能在同一个应用程序域并行工作。只有我觉得这主意糟透了吗?如果每个人都这样做,那么一切都会崩溃,对不对?
Edit2: 正如我所说的,我没有在我的业务代码中使用 log4net,但是我使用了几个依赖于1.2.10.0的框架,当我试图使用一个依赖于1.2.11.0的新框架(新键)时,问题出现了,所以 Stefans 的回答不适用,因为新框架需要的是新键,而不是旧键