System.Net.Http包冲突

时间:2019-03-09 21:51:35

标签: .net package

我有一个项目A消耗了 System.Net.Http,Version = 4.3.3 ,还有一个项目Y。(虽然它们可能都间接消耗了它们,但它并不直接消耗该nuget)< / p>

我在项目A中添加了nuget X,并开始收到如下错误:

  

错误CS1705:标识为<< strong> Y ,版本= 1.0.0.0,Culture = neutral,PublicKeyToken = null的程序集' Y '使用'系统。 Net.Http,版本= 4.2.0.0 ,文化=中性,PublicKeyToken = b03f5f7f11d50a3a,其版本高于引用程序集“ System.Net.Http”,标识为“ System.Net.Http,版本” = 4.1.1.2 ,文化=中性,PublicKeyToken = b03f5f7f11d50a3a'

我在项目A Y中都添加了 System.Net.Http 的版本4.3.3的程序包引用,但这并没有做任何更改。 (我猜是nuget X 的依赖关系导致的依赖关系结果?)

有什么想法可以解决我的问题吗?

2 个答案:

答案 0 :(得分:0)

您可以按照以下步骤合并 System.Net.Http 版本:

  1. 在您的解决方案中,右键单击并选择“管理解决方案的Nuget程序包...”。
  2. 选择“合并” 标签。
  3. 选择“ System.Net.Http”
  4. 在右侧面板部分,您将看到Project及其安装的版本。
  5. 如果看到存在冲突的版本,请选择要具有相同版本的项目。然后在“版本” 下拉列表中,选择您的首选版本。
  6. 单击安装,它将管理将那些项目的版本更改为一个版本(您选择的版本)。

答案 1 :(得分:0)

基本上,它与.Net Core Nuget软件包和.Net framework软件包参考存在冲突。 我通过以下方式解决了同一问题:

  1. 为错误的项目卸载Nuget软件包 文件退出。

  2. 在项目中为同一包添加引用,即 通过右键单击System.Net.Http引用,单击添加引用 然后添加参考。