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

原文地址:https://www.cnblogs.com/wxylog/p/11458361.html

时间: 2024-11-08 15:37:38

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

Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突) (转)

本文为作者原创,转载请注明出处:http://www.cnblogs.com/gzdaijie/p/5296624.html 目录 1.添加依赖包名1.1 依赖类型1.2 声明依赖1.3 添加java依赖1.4 查找依赖包名1.5 完整的例子2.添加依赖仓库3.依赖常见问题3.1 依赖传递性3.2 版本冲突3.3 动态依赖3.4 更多设置 开发任何软件,如何管理依赖是一道绕不过去的坎,软件开发过程中,我们往往会使用这样那样的第三方库,这个时候,一个好的依赖管理就显得尤为重要了.作为一个自动构建工

如何确定kubernetes依赖的各个组件版本?

综述 简单来讲:kubernetes依赖的各个组件版本都可以在对应的changlog中找到比如1.10版本依赖情况如下:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.10.md#external-dependencies 下面简单示例总结一下: k8s v1.10依赖版本选择 1.10.0依赖包: https://github.com/kubernetes/kubernetes/blob/master/CHANG

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

最近遇到一个问题就是要在同一个项目中同时使用Newtonsoft.Json.dll的不同版本.在网上搜索了下解决方案,基本都是在app.config或web.config中进行设置. 这次我亲自试验了一下,基本能解决我的问题.在此记录一下,以后参考.app.config的配置如下图所示: <codeBase>元素中的href属性可以使用相对路径. 至于如何获取强签名程序集的publicKeyToken,我知道的方法有有两种: 1.打开visual studio command prompt :

【C#进阶系列】03 配置文件管理与程序集的引用版本重定向

先来点与标题不相关的: CLR支持两种程序集:弱命名程序集和强命名程序集. 两者的区别在于强命名程序集使用发布者的公钥和私钥进行签名.由于程序集被唯一性地标识,所以当应用程序绑定到强命名程序集时,CLR可以应用一些已知安全的策略. 程序集可以采用两种方式部署:私有或者全局.弱命名程序集只能以私有方式部署. 在<CLR via C#>的第三章主要讲了私有部署和全局部署的具体内容,以及弱命名程序集和强命名程序集. 但是老实说一般情况下确实用不到这些东西,所以这里就不写了. 还有一个就是对CLR如何

vs警告 当前源代码跟内置的版本不一致解决办法

本文转载于:http://blog.csdn.net/bull521/article/details/51334464 1.删除掉 我的文档/visual studio xxx/back up files/你的项目名称 这个文件夹(这个我倒是找到了这个文件夹,不过我发现它是空的,但上面的哪个警告就没了,莫名其妙) 2.右键解决方案,点击批生成,然后全部生成一次,即可 原文地址:https://www.cnblogs.com/curo0119/p/8455715.html

idea中,发现某个java语法在低版本中不支持时的解决办法

比如,在某个工程中,准备用java.util.Objects#equals语法,发现提示版本不支持. F4查看Module的配置,发现原来是1.6版本. 当我手动修改为1.8时,提示我:Module是在maven配置的java版本. 于是,去pom文件中,发现是spring boot的默认starter是java 1.6 . <parent> <groupId>org.springframework.boot</groupId> <artifactId>sp

D7升级时候发现许多System函数只有Byte版本的,需要注意

SetLength 对于字符串,是WideChar的长度GetMem 只针对ByteMove 只针对ByteFillChar 只针对ByteWriteFile(API) 只针对Byte 另外学习了:StrPCopy 拷贝String到PCharStringOfChar 使用重复的Char组合出String

SpringMVC------pom.xml添加spring依赖,统一管理版本

如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVers

无法解决“Microsoft.SharePoint.Security, Version=15.0.0.0,”与“Microsoft.SharePoint.Security, Version=14.0.0.0”之间的冲突

VisualStudio 2013创建控制台项目,.NetFramework选为4.5.生成目标平台:x64.然后添加对Microsoft.SharePoint.dll的引用. 生成项目时,"错误列表"报告了如下警告: 发现同一依赖程序集的不同版本间存在冲突.请将项目文件中的"AutoGenerateBindingRedirects"属性设置为 true.有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=294190