项目引用和 Nuget 包引用冲突 - 同名键已存在
Project Reference & Nuget Package Reference Conflict - Key with same name already exists
使用 Visual Studio 2019 版本 16.6.0 预览版 2.1 - 我有两个项目的解决方案:
项目 A - 具有 nuget 包依赖项 Package1
项目 B - 具有对 项目 A
的项目引用
我现在还要求 项目 B 包含相同的 nuget 包依赖项 包 1
当我尝试安装软件包时出现错误 "An item with the same key has already been added"。
我看过一些讨论这个问题的帖子,但没有确定的解决方案。出于调试目的,我想保留 Project A 作为 Project B 的项目参考。知道我该如何解决这个问题吗?
Project Reference & Nuget Package Reference Conflict - Key with same
name already exists
首先,尝试在Porject B
中删除Project A
的Project Reference,然后在Project B中安装Package,然后添加Project的Project Reference如果有效,项目 B.Check 中的 A。
如果不是,我认为您的项目中的 nuget 包存在一些不同的冲突版本。参见 。您应该删除重复的包。试试这些:
1)如果你使用Packages.config
,你应该检查是否有像这样的两个重复包:
<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net40" />
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net40" />
删除旧的,保留最新的。同时检查你的xxx.csproj
文件,删除重复的节点。
2)删除项目A和项目B的bin
,obj
文件夹
3) clean local nuget caches 并删除您解决方案下的 packages 文件夹(xxxx\Projects\MyProjName\packages
).
之后运行update-package -reinstall
下Tools
-->Nuget Package Manager
-->Package Manager Console
.
同时进行项目 A 和项目 B。
4) 然后在 Project B
上安装 Package 1
以测试问题是否仍然存在。
使用 Visual Studio 2019 版本 16.6.0 预览版 2.1 - 我有两个项目的解决方案:
项目 A - 具有 nuget 包依赖项 Package1
项目 B - 具有对 项目 A
的项目引用我现在还要求 项目 B 包含相同的 nuget 包依赖项 包 1
当我尝试安装软件包时出现错误 "An item with the same key has already been added"。
我看过一些讨论这个问题的帖子,但没有确定的解决方案。出于调试目的,我想保留 Project A 作为 Project B 的项目参考。知道我该如何解决这个问题吗?
Project Reference & Nuget Package Reference Conflict - Key with same name already exists
首先,尝试在Porject B
中删除Project A
的Project Reference,然后在Project B中安装Package,然后添加Project的Project Reference如果有效,项目 B.Check 中的 A。
如果不是,我认为您的项目中的 nuget 包存在一些不同的冲突版本。参见
1)如果你使用Packages.config
,你应该检查是否有像这样的两个重复包:
<package id="Newtonsoft.Json" version="4.5.11" targetFramework="net40" />
<package id="Newtonsoft.Json" version="5.0.8" targetFramework="net40" />
删除旧的,保留最新的。同时检查你的xxx.csproj
文件,删除重复的节点。
2)删除项目A和项目B的bin
,obj
文件夹
3) clean local nuget caches 并删除您解决方案下的 packages 文件夹(xxxx\Projects\MyProjName\packages
).
之后运行update-package -reinstall
下Tools
-->Nuget Package Manager
-->Package Manager Console
.
同时进行项目 A 和项目 B。
4) 然后在 Project B
上安装 Package 1
以测试问题是否仍然存在。