【问题标题】:TFS build unable to find some NuGet package versionsTFS 构建无法找到某些 NuGet 包版本
【发布时间】:2017-01-27 17:58:46
【问题描述】:

包在开发人员 PC 上恢复正常,并在构建服务器上使用 Visual Studio。但是,在使用 TFS 执行自动构建时,许多包都会失败并显示如下消息:

WARNING: Unable to find version '5.0.4' of package 'Newtonsoft.Json'.
WARNING: Unable to find version '1.2.2' of package 'Microsoft.Net.Compilers'.

其他包工作正常:

Added package 'WebGrease.1.5.2' to folder 'E:\d\w\50\s\NHXS.Web.RemittanceManager\packages'

我尝试使用-verbosity detailed 获取更多信息,但没有帮助。我知道有些人通过更新 NuGet 配置以使用版本 3 的 NuGet API 取得了成功,但鉴于某些包可以工作 - 似乎这不是问题。 (而且我不想为其他用户破坏生产构建服务器)。有没有办法获得有关失败的更多信息?

【问题讨论】:

  • 为什么您认为将 Nuget API 版本 2 更改为版本 3 会破坏此生产构建服务器?我不确定版本 3 是否与版本 2 完全向后兼容。但总的来说,这应该不是问题。
  • 在详细信息中,您会发现以下几行: 使用的 NuGet 配置文件:C:\Users\tfs\AppData\Roaming\NuGet\NuGet.Config 使用的源:C:\Users\tfs\AppData \Local\NuGet\Cache C:\Users\tfs\.nuget\packages\ api.nuget.org/v3/index.json 你确定 WebGrease.1.5.2 不在缓存中,而另一个不在?有人可能会在覆盖默认 NuGet.config 的解决方案路径中的某处签入不同的 NuGet.Config 吗?
  • 你的 nuget.config 文件中的包源是什么?

标签: visual-studio-2015 tfs nuget tfsbuild azure-pipelines


【解决方案1】:

这个问题可能重复:"Unable to find version" during TFS Build 2015 when restoring NuGet packages

请在您的 tfs 构建定义中检查您的 nuget 安装任务。如果您已经使用 V3.0 并且配置文件仍然指向 V2.0。你会得到这个错误。

此外,由于可以在您的开发 PC 上成功恢复软件包,您还可以比较您的 TFS 服务器和开发 PC 上的 nuget.config 文件,看看它们之间是否有任何区别。 nuget.config 文件位于"%APPDATA%\NuGet\NuGet.Config"。

【讨论】:

    【解决方案2】:

    这对我有帮助,但我选择了不同的路线。

    我不想弄乱我们 TFS 服务器上的 Nuget.config。相反,我在解决方案中签入了更新版本的 nuget.exe 命令行,并调整了本地副本的路径。

    【讨论】:

      猜你喜欢
      • 2020-10-05
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 2013-02-08
      相关资源
      最近更新 更多