https://msdn.microsoft.com/zh-cn/library/2fc472t2.aspx
如何:启用和禁用自动绑定重定向
从 Visual Studio 2013 开始,当你编译面向 .NET Framework 4.5.1 的应用程序时,绑定重定向可能会自动添加到应用配置文件,以便重写程序集统一。 如果你的应用或其组件引用同一程序集的多个版本,就会添加绑定重定向,即使你在应用的配置文件中手动指定绑定重定向。 自动绑定重定向功能会影响面向 .NET Framework 4.5.1 的传统桌面应用和 Web 应用,但对于 Web 应用来说,行为略有不同。 如果你有面向较早版本 .NET Framework 的现有应用,则可以启用自动绑定重定向,如果要保留手动编写的绑定重定向,你可以将此功能禁用。
默认情况下,将为面向 .NET Framework 4.5.1 及更高版本的传统桌面应用启用自动绑定重定向。 编译应用并重写可能发生的程序集统一时,绑定重定向将添加到输出配置 (app.config) 文件中。 不修改源 app.config 文件。 你可以通过修改应用的项目文件来禁用此功能。
禁用自动绑定重定向
-
在 Visual Studio 中,在“解决方案资源管理器”中选择项目,然后从快捷菜单中选择“在文件资源管理器中打开文件夹”。
-
在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。
-
在项目文件中,查找以下属性项:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
-
将 true 更改为 false:
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
你可以在面向旧版本 .NET Framework 的现有应用中,或在不会自动提示你添加重定向的情况下,启用自动绑定重定向。 如果你面向较新版本的框架,但没有获得自动提示以添加重定向,你可能会获得建议你重新映射程序集的生成输出。
手动添加自动绑定重定向属性
-
在 Visual Studio 中,在“解决方案资源管理器”中选择项目,然后从快捷菜单中选择“在文件资源管理器中打开文件夹”。
-
在文件资源管理器中,找到项目(.csproj 或 .vbproj)文件,并用记事本将其打开。
-
将以下元素添加到第一个配置属性组(在 <PropertyGroup> 标记下):
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
下面显示具有插入元素的示例项目文件。
<?xml version="1.0" encoding="utf-8"?> <Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)$(MSBuildToolsVersion)Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)$(MSBuildToolsVersion)Microsoft.Common.props')" /> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProjectGuid>{123334}</ProjectGuid> ... <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects> </PropertyGroup> ... </Project>
-
编译你的应用。
Web 应用的自动绑定重定向实现方式有所不同。 由于必须修改 Web 应用的源配置 (web.config) 文件,因此绑定重定向不会自动添加到配置文件。但是,Visual Studio 会通知你绑定冲突,你可以添加绑定重定向来解决此冲突。 由于始终会提示你添加绑定重定向,因此你不需要为 Web 应用显式禁用此功能。
向 web.config 文件添加绑定重定向
-
在 Visual Studio 中,编译应用,然后检查生成警告。
-
如果存在程序集绑定冲突,则将显示警告。 双击警告。 (键盘:选择警告,然后按“Enter”。)
此时将显示一个对话框,使你可以将必要的绑定重定向添加到源 web.config 文件。