【发布时间】:2012-08-19 01:26:10
【问题描述】:
由于对 log4net 强大的命名和版本控制感到非常头疼,即旧的 1.2.10 名称,新的 1.2.11 名称,以及(上帝帮助我)SAP 制作并推入 GAC 的 1.2.10它自己的强名称,我的应用程序将拒绝在除我自己的机器之外的任何机器上运行。它一直在寻找不存在的强命名 SAP 版本的 1.2.11 版本。
由于我的项目中没有任何东西是强命名的,我想阻止编译器寻找一个强命名的程序集,只加载我放在目录中的那个。由于它抱怨清单不匹配,我试图在我的项目中找到该版本和公钥的引用,但我做不到。这个清单似乎是在编译时创建的。
我怎样才能覆盖它?是否有一个属性或开关或条件编译可以用来准确指定我希望引用的程序集?
最终我想使用1.2.11版本的log4net,并强制程序集忽略GAC中的版本,只查看本地bin目录。这真的不应该这么痛苦。
【问题讨论】:
-
你试过binding redirect吗?
-
我有……好像没什么区别。
-
你得到了 log4net 的源代码,创建你自己的 99.99 版本,这样你就不会再遇到这个问题了。
-
我不确定这会有所帮助;我很确定这与 GAC 中强命名的 SAP log4net 程序集有关。
标签: c# visual-studio-2010 compilation dependencies manifest