System.Net.Http包冲突

3
我有一个A项目,它使用了System.Net.Http, Version=4.3.3和一些项目Y。(尽管两者可能间接地使用它们,但项目Y并没有直接使用该nuget)
我向项目A添加了nuget X,并开始收到这样的错误:
error CS1705: Assembly 'Y' with identity 'Y, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a',其版本高于引用程序集'System.Net.Http, Version=4.1.1.2, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
我向项目A和Y都添加了版本为4.3.3的System.Net.Http包引用,但这并没有改变任何事情。(我猜测依赖关系来自于nuget X的依赖项?)
你有什么想法可以解决我的问题吗?
2个回答

0

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

  1. 在您的解决方案中,右键单击并选择"管理解决方案的 Nuget 包..."。
  2. 选择"合并"选项卡。
  3. 选择"System.Net.Http"
  4. 在右侧面板中,您将看到项目及其已安装的版本。
  5. 如果您发现存在冲突版本,请选择您想要具有相同版本的项目。然后在"版本"下拉菜单中,选择您喜欢的版本。
  6. 单击安装,它将管理将这些项目的版本更改为一个版本(您选择的版本)。

0

基本上,这是一个 .Net Core Nuget 包和 .Net Framework 包引用的冲突。

我通过以下方式解决了同样的问题:

  1. 卸载存在错误文件的项目的 Nuget 包。

  2. 在项目中添加相同包的引用,即 System.Net.Http。方法是右键单击引用,选择“添加引用”,然后添加引用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接