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 文件。
