程序集相关性已定义错误

时间:2018-08-18 01:49:51

标签: c# visual-studio nuget

尝试构建项目时遇到问题,出现此错误:

'Newtonsoft.Json'已经具有为'Microsoft.CSharp'定义的依赖项

我看到的所有内容都表明您要更新nuget软件包管理器,所以我从VS 2015更新到了2017,但这没有用。我将VS2017更新到最新版本,但在尝试构建时仍然出现该错误。我尝试将生成对话框的语言设置为“诊断”,但它根本没有更改文本。还有什么可能导致这种情况,因为我很困惑。

该错误伴随此错误:

  

命令““ C:\ Users \ ... \ NuGet.exe”打包   “ C:\ Users \ ... \ Project.csproj”   -属性“配置=调试;平台= AnyCPU”-非交互-输出目录“ C:\ Users \ ... Debug”-符号   以代码1退出。

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

编辑

这被标记为可能重复。不是,第三段说明了原因。

1 个答案:

答案 0 :(得分:0)

  

组装依赖关系已定义错误

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

根据错误消息,应该使用旧的nuget.exe来将项目与netstandard打包在一起。

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

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

希望这会有所帮助。