20190904_ 警告 发现同一依赖程序集的不同版本间存在冲突。
错误原因:
严重性 代码 说明 项目 文件 行 禁止显示状态
警告 发现同一依赖程序集的不同版本间存在冲突。请将项目文件中的“AutoGenerateBindingRedirects”属性设置为 true。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=294190。 ControlItech6433
其实微软的报错消息已经非常清楚了:
项目文件中的“AutoGenerateBindingRedirects”属性设置为 true
打开你的项目 *.csproj 这个文件, 在 <PropertyGroup>节点下添加 <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>;
保存即可;
下面看看微软的官方解释:
禁用桌面应用程序中的自动绑定重定向
对于面向.NET Framework 4.5.1及更高版本的Windows桌面应用程序,默认情况下会启用自动绑定重定向。编译应用程序时,绑定重定向将添加到输出配置(app.config)文件中,并覆盖可能发生的程序集统一。源app.config文件未被修改。您可以通过修改应用程序的项目文件或在Visual Studio中取消选中项目属性中的复选框来禁用此功能。
通过项目属性禁用
如果您使用的是Visual Studio 2017 15.7或更高版本,则可以在项目的属性页中轻松禁用自动生成的绑定重定向。
-
在Solution Explorer中右键单击该项目,然后选择Properties。
-
在“ 应用程序”页面上,取消选中“ 自动生成绑定重定向”选项。
-
按Ctrl + S保存更改。
在项目文件中手动禁用
使用以下方法之一打开项目文件以进行编辑:
- 在Visual Studio中,在解决方案资源管理器中选择项目,然后从快捷菜单中选择“ 文件资源管理器”中的“打开文件夹 在文件资源管理器中,找到项目(.csproj或.vbproj)文件并在记事本中打开它。
- 在Visual Studio的“ 解决方案资源管理器”中,右键单击该项目,然后选择“ 卸载项目”。再次右键单击卸载的项目,然后选择“ 编辑[projectname.csproj]”。
在项目文件中,找到以下属性条目:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
更改true
到false
:
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
手动启用自动绑定重定向
您可以在针对旧版.NET Framework的现有应用程序中启用自动绑定重定向,或者在未自动提示您添加重定向的情况下启用自动绑定重定向。如果您的目标是更新版本的框架,但没有自动提示添加重定向,您可能会获得建议输出,建议您重新映射程序集。
-
使用以下方法之一打开项目文件以进行编辑:
- 在Visual Studio中,在解决方案资源管理器中选择项目,然后从快捷菜单中选择“ 文件资源管理器”中的“打开文件夹 在文件资源管理器中,找到项目(.csproj或.vbproj)文件并在记事本中打开它。
- 在Visual Studio的“ 解决方案资源管理器”中,右键单击该项目,然后选择“ 卸载项目”。再次右键单击卸载的项目,然后选择“ 编辑[projectname.csproj]”。
2. 将以下元素添加到第一个配置属性组(在<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>
3. 编译您的应用程序。
在Web应用程序中启用自动绑定重定向
对于Web应用程序,自动绑定重定向的实现方式不同。由于必须为Web应用程序修改源配置(web.config)文件,因此绑定重定向不会自动添加到配置文件中。但是,Visual Studio会通知您绑定冲突,您可以添加绑定重定向来解决冲突。由于始终会提示您添加绑定重定向,因此您无需为Web应用程序显式禁用此功能。
要将绑定重定向添加到web.config文件:
1. 在Visual Studio中,编译应用程序,并检查构建警告。
2. 如果存在程序集绑定冲突,则会显示警告。双击警告,或选择警告并按Enter键。
将出现一个对话框,使您可以自动将必要的绑定重定向添加到源web.config文件中。