还原 NuGet 程序包时出错: 已添加了具有相同键的项
状况
在Ide中输出中查看错误信息
输出来源:
程序包管理
已用时间: 00:00:04.1449549
========== 已完成 ==========
已用时间: 00:00:32.9024884
========== 已完成 ==========
还原 NuGet 程序包时出错: 已添加了具有相同键的项。
输出来源:
生成
还原 NuGet 程序包时出错: 已添加了具有相同键的项。
1>------ 已启动生成: 项目: xxx.ProxyGenerator, 配置: Debug Any CPU ------
2>------ 已启动生成: 项目: xxx.Common, 配置: Debug Any CPU ------
3>------ 已启动生成: 项目: xxx.Infrastructure.Common, 配置: Debug Any CPU ------
4>------ 已启动生成: 项目: xxx.Utility, 配置: Debug Any CPU ------
5>------ 已启动生成: 项目: xxx.Core.Consul, 配置: Debug Any CPU ------
6>------ 已启动生成: 项目: WebSocketCore, 配置: Debug Any CPU ------
7>------ 已启动生成: 项目: xx.xx.Log4net, 配置: Debug Any CPU ------
8>------ 已启动生成: 项目: xxx.QuartzExtension, 配置: Debug Any
...省略
30>已完成生成项目“xx.xx.xx.csproj”的操作 - 失败。
========== 生成: 成功 29 个,失败 1 个,最新 0 个,跳过 0 个 ==========
原因
引起这种情况的情况很多,但一定是引用错误导致的,需要根据自身情况出发查找问题。
这里出现问题的背景是
1、有很多项目,分为多个层次,前期问题调试方便全部引到同一个解决方案;
2、当整体结构基本稳定后,慢慢把项目剥离出去,打成Nuget;
3、打成Nuget后引用出现了这个问题,经过查资料和调试(把所有项目卸载一个个项目检查)发现有的项目即引用Nuget也引用项目。测试工程改漏了,测试工程引用了大部分。