c# - 如何让 C# 项目忽略程序集的版本号?

标签 c# assemblies

我正在从事一个引用其他产品的 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/

相关文章:

c# - 从 C# 使用 DirectX DLL (C++)

c# - 从 Azure Web 应用程序连接到 On Prem SQL 服务器

.net - 是否有可用的 IL 反汇编器图标的描述

c# - 在同一个程序集中引用不同的项目,不同的命名空间

c# - 如何确定 Assembly.LoadFrom 真的加载了一个 DLL 文件?

c# - MSTest:没有运行测试,因为没有加载测试或禁用了选定的测试

c# - AutoMapper:使用 .ProjectTo 时将参数传递给目标构造函数

c# - 在 Entity Framework Core 的系统版本时态表中查询数据

wpf - 解锁用于 VS2010 的 Ribbon WPF 程序集

wpf - 从外部文件或程序集中加载 WPF 样式或其他静态资源