我正在从事一个引用其他产品的 dll 的项目。该产品每年都有一个版本,每个版本的程序集版本都会更改,但方法保持不变。 当我为 2010 年运行我的项目构建时,当我尝试为 2009 年运行它时,它会抛出错误,因为它依赖于不同的版本。有解决办法吗?
最佳答案
如果您在运行时指的是在交换程序集版本后没有执行引用新构建的程序集的程序重建的问题,您需要使用 <a href="http://msdn.microsoft.com/en-us/library/eftw1fys.aspx" rel="noreferrer noopener nofollow"><bindingRedirect></a>
指令到您程序的 App.config(或 Web.config,如果您谈论的是网站。)
bindingRedirect
用于指示 .NET Framework 可以使用程序集的版本other 而不是应用程序最初编译时所针对的版本。默认情况下,CLR 希望看到您的应用程序在构建期间引用的同一版本的 DLL,如果不是,它将引发异常。
关于c# - 如何让 C# 项目忽略程序集的版本号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5514002/