首页 > 解决方案 > 程序集依赖已定义错误

问题描述

当我尝试构建我的项目时遇到问题,我收到此错误:

“Newtonsoft.Json”已经为“Microsoft.CSharp”定义了一个依赖项

我看到的一切都说要更新你的 nuget 包管理器,所以我从 VS 2015 更新到 2017 年,但没有奏效。我将 VS2017 更新到最新版本,但在尝试构建时仍然出现该错误。我尝试将构建对话框的详细程度设置为诊断,但它根本没有改变文本。还有什么可能导致这种情况,因为我很难过。

该错误伴随着此错误:

命令 ""C:\Users\...\NuGet.exe" 包 "C:\Users\...\Project.csproj" -Properties "Configuration=Debug;Platform=AnyCPU" -NonInteractive -OutputDirectory "C: \Users\...Debug" -symbols" 以代码 1 退出。

当我在命令提示符下手动运行命令时,它只会给我已经定义的依赖项错误。

编辑

这被标记为可能重复。不是,第 3 段解释了原因。

标签: c#visual-studionuget

解决方案


程序集依赖已定义错误

您应该将路径中的 nuget.exe 版本更新为 2.12 及更高版本"C:\Users\...\NuGet.exe"

根据错误消息,应该使用 oldnuget.exe来打包具有依赖 netstandard 的项目。

作为测试,我使用旧的 nuget.exe (2.8.6) 来打包项目,Newtonsoft.Json 11.0.2就像你的命令行一样,我得到了同样的错误。要解决此问题,您需要更新文件夹中的 nuget.exe "C:\Users\...\NuGet.exe"

这就是为什么您已经将 Visual Studio 2015 更新到 2017 并且仍然存在此问题的原因,因为您仍然nuget.exe在命令行中使用旧的。

希望这可以帮助。


推荐阅读