20190904_ 警告 发现同一依赖程序集的不同版本间存在冲突。

Posted wxylog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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或更高版本,则可以在项目的属性页中轻松禁用自动生成的绑定重定向。

  1. Solution Explorer中右键单击该项目,然后选择Properties

  2. 在“ 应用程序”页面上,取消选中“ 自动生成绑定重定向”选项。

  3. Ctrl + S保存更改。

在项目文件中手动禁用

使用以下方法之一打开项目文件以进行编辑:

  • 在Visual Studio中,在解决方案资源管理器中选择项目,然后从快捷菜单中选择“ 文件资源管理器”中的“打开文件夹 在文件资源管理器中,找到项目(.csproj或.vbproj)文件并在记事本中打开它。
  • 在Visual Studio的“ 解决方案资源管理器”中,右键单击该项目,然后选择“ 卸载项目”再次右键单击卸载的项目,然后选择“ 编辑[projectname.csproj]”

在项目文件中,找到以下属性条目:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

更改truefalse

<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>

手动启用自动绑定重定向

 

您可以在针对旧版.NET Framework的现有应用程序中启用自动绑定重定向,或者在未自动提示您添加重定向的情况下启用自动绑定重定向。如果您的目标是更新版本的框架,但没有自动提示添加重定向,您可能会获得建议输出,建议您重新映射程序集。

  1. 使用以下方法之一打开项目文件以进行编辑:

    • 在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文件中。

技术图片

 

以上是关于20190904_ 警告 发现同一依赖程序集的不同版本间存在冲突。的主要内容,如果未能解决你的问题,请参考以下文章

C# 依赖同一个强签名程序集的不同版本

maven警告:使用同一工件的两种不同类型的依赖项时重复版本

在 VS2010 中将 FSharpx(来自 NuGet)与 F# 2.0 一起使用

无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.

makefile(06)_隐式规则

关于LNK4098 默认库与其他库的使用冲突警告