在不重新编译项目的情况下升级C#项目中的引用dll

我需要使用C#应用程序的内置版本并更改其中一个引用dll。 最好的方法是什么,我在引用dll上关闭了特定的版本,但是当我测试用新版本替换dll时,我得到“无法加载文件或程序集XXXXX,版本= XXXXX。是有一种方法可以阻止加载器关心dll的版本,这样dll只会尝试加载?

是的,您可以这样做 – 请参阅MSDN文章重定向程序集版本 。

您应该阅读整个文档,但它主要涉及程序集的发布者创建“发布者策略文件”或消费者将bindingRedirect添加到app.config文件,如下所示(直接从文章中复制):

           

几点说明:

  • 如果您没有明确指定您的文化(许多人没有),那么它将是“中立的”而不是“en-us”。

  • 如果您还不知道它,可以使用强名称实用程序获取程序集的公钥令牌,如下所示: sn -t [AssemblyPath]