.Net 4.5.1自动绑定重定向

.Net 4.5.1自动绑定重定向,.net,.net-assembly,.net-4.5,.net,.net Assembly,.net 4.5,基于以下msdn链接 我们得到的信息是 从Visual Studio 2013开始,针对 .NET Framework 4.5.1使用自动绑定重定向。这意味着 如果两个组件引用同一组件的不同版本 强命名程序集,运行时自动添加绑定 重定向到输出应用程序中程序集的较新版本 配置(app.config)文件。此重定向将覆盖 否则可能发生的程序集统一。源头 app.config文件未被修改 现在,我正在尝试使用一个简单的控制台应用程序和一个后构建事件将程序集发送给GAC。当我使用安装程序安装程序集时,它

基于以下msdn链接 我们得到的信息是

从Visual Studio 2013开始,针对 .NET Framework 4.5.1使用自动绑定重定向。这意味着 如果两个组件引用同一组件的不同版本 强命名程序集,运行时自动添加绑定 重定向到输出应用程序中程序集的较新版本 配置(app.config)文件。此重定向将覆盖 否则可能发生的程序集统一。源头 app.config文件未被修改

现在,我正在尝试使用一个简单的控制台应用程序和一个后构建事件将程序集发送给GAC。当我使用安装程序安装程序集时,它会升级库(正在使用)C:\Windows\Microsoft.Net\Assembly中有一个新文件夹,但应用程序继续使用previos版本,而不是最新部署的版本,即,如果第一个版本是1.0.0,新版本是2.0.0,则应用程序将继续使用1.0.0版本,即使我在.csproj文件中设置为true,.Net版本是4.5.1
我无法在这方面取得进展,非常感谢您的帮助。

这完全是GAC的观点。它总是提供您在构建项目时要求的版本,而不是“最后一个部署的版本”。一个非常强大的反措施。如果要使用2.0,则必须更新引用程序集。轻松使用GAC,它在用户的机器上非常有用,但在您的机器上却没有。@HansPassant那么发布者策略是唯一的选择还是MSDN文章中指出的;自动绑定重定向不应该解决这样的问题吗?使用正确的引用程序集是正确的选择。自动绑定ReDR是程序员的一种创可贴,它们有大量的解决方案,它们没有编写引用组件的不同版本的项目。这是一个非常丑陋的问题,你永远不想故意制造它。@HansPassant是的,但我已经是其中之一了,客户要求迁移一个旧的.net 2.0项目,在那里他们大量使用了发布者策略和绑定重定向,这是摆脱所有这些缺点的好机会。当然是他们要求这样做的原因。