【问题标题】:'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp' on TFS build“Newtonsoft.Json”已经在 TFS 构建上为“Microsoft.CSharp”定义了一个依赖项
【发布时间】:2019-05-15 23:21:52
【问题描述】:

我有一个使用 .NET 4.6.1 实现的项目。我使用 TFS 构建这个项目。构建任务之一是从此项目创建一个 nuget 包,因为它包含其他项目使用的共享代码。我最近需要将 Newtonsoft.Json 的版本从 v9.0.1 升级到 v12.0.1(我添加了一些新功能,迫使我升级我的 Newtonsoft.Json 版本)。

我现在收到错误'Newtonsoft.Json' has a dependency defined for 'Microsoft.CSharp' from my build task that create the nuget package。

这是创建 nuget 包的构建命令。

NuGet.exe pack "Common.csproj" -OutputDirectory "\packages\Common" -Properties Configuration=Release -version 1.2.3.4

这是 packages.config 文件。

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Microsoft.IdentityModel.Logging" version="1.1.2" targetFramework="net461" />
  <package id="Microsoft.IdentityModel.Tokens" version="5.1.2" targetFramework="net461" />
  <package id="Newtonsoft.Json" version="12.0.1" targetFramework="net461"  />
  <package id="Sendgrid" version="9.9.0" targetFramework="net452" />
  <package id="System.IdentityModel.Tokens.Jwt" version="5.1.2" targetFramework="net461" />
  <package id="System.Net.Http" version="4.0.0" targetFramework="net452" />
  <package id="Twilio" version="5.23.0" targetFramework="net461" />
</packages>

我看过这个question,但这些答案都不适用。

我们的构建服务器使用的是 nuget 版本 3.2.1.10581

【问题讨论】:

  • 该错误消息通常意味着 NuGet 版本太旧并且不了解目标框架特定的依赖项。我会尝试使用更新的 NuGet 版本。 3.2.1 已经很老了。
  • 我会尝试升级 nuget.exe 看看会发生什么。谢谢。
  • @MattWard 这对我有用。如果您想将此作为解决方案提交,我会将其标记为答案。干杯。

标签: tfs nuget tfsbuild nuget-package


【解决方案1】:

对于遇到此问题的其他人:

  • Nuget:5.4.0
  • Newtonsoft.Json: 12.0.3
  • Azure Devops 服务器(本地):2019 年
  • Visual Studio 2019:16.5.2

我们在破坏 Nuget 恢复的构建服务器上更新了 Visual Studio。我们发现我们需要在任务列表的开头添加一个名为 NuGet Tool Installer 的任务,以强制它使用 5.4.0 版本,因为自动发现选择了旧版本并且失败了。

一旦它正常工作并恢复包,它就无法打包我们的源代码以进行分发。所以我们有最新的 NuGet.exe,NewtonSoft.Json 的 .NET 框架参考(即不是 netstandard),但它仍然无法正常工作。我们之前使用的是NuGet Packager。我不完全确定该任务何时被弃用,但在 VS 更新之前它仍然对我们有用。有一个名为 NuGet 的新任务,其中包含不同功能的下拉菜单。

选择Pack,并配置字段以模仿已弃用的任务导致成功构建的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-21
    • 2016-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多