【问题标题】:Nuget restore fails on VSO 2017 build for CORE packages核心包的 VSO 2017 构建上的 Nuget 还原失败
【发布时间】:2017-04-05 12:04:42
【问题描述】:

我之前创建并构建了一个简单的 .net core nuget 包并将其推送到我们的内部 nuget(托管在我们的 VSO 中)。现在我想从另一个核心项目中引用它。这在本地运行良好。

然后我继续定义我的构建。以下是详细信息:

  • 代理是“托管 VS2017”
  • 进程
    • Nuget 安装程序(3.5 版,指向我的解决方案文件,nuget.config 包含我的包源)
    • 就是这样!我们永远不会得到任何进一步的

当我运行构建时,我在 Nuget 安装程序位上收到此错误:

[command]C:\a\_tasks\....\NuGet\3.5.0\NuGet.exe restore -NonInteractive C:\a\1\s\...sln -ConfigFile C:\a\1\s\...\nuget.config
Failed to load msbuild Toolset
Could not load file or assembly 'Microsoft.Build, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. 

我尝试过的事情

  • 如果 nuget 版本低于 3.5,我会收到 401 未授权
  • 如果 nuget 版本低于 3.5 并且我没有引用 dotnetcore nuget,它可以工作
  • 我将自己的凭据添加到 nuget.config 的 packageStoreCredentials 部分,但没有任何效果(我是 VSO 的管理员)
  • 我尝试使用 nuget 4,方法是将其 exe 包含在签入中并从 Nuget 安装程序中引用它,但随后我得到“错误:Iac.Repository/nuget.exe failed.spawn Iac.Repository/nuget.exe ENOENT”

感谢您的帮助!

【问题讨论】:

  • 您可以分享使用 Nuget 4.0 后的详细构建日志吗?

标签: asp.net-core nuget visual-studio-2017 azure-pipelines


【解决方案1】:

您需要使用 NuGet 4.0 而不是 3.5,因为您的项目基于 VS2017。

现在 NuGet 4.0 可用于 NuGet Installer 任务,因此您可以直接选择版本,无需将版本签入源代码。

对于部分VSTS账号不显示nuget 4.0,我创建a new issue here,你可以跟进。

在 TFVC 项目中使用 NuGet 4.0 的另一种方式:

  1. 在源代码中签入nugget 4.0,如nuget4.0.exe
  2. 在获取源步骤中,映射 nuget4.0.exe。

  1. 在 nugget 安装程序任务中,将 nugget.exe 路径指定为 $(build.sourcesDirectory)/nuget4.0.exe

【讨论】:

  • 这很奇怪,我只有 3.3.0 和 3.5 的选项。你知道我需要做任何额外的配置吗?它是一个 visualstudio.com 帐户,而不是本地安装
  • 是的,我刚查了VSTS的其他账号,只有3.3和3.5。但是对于我使用的帐户没有做任何额外的配置,它显示版本 4.0。所以我还给出了另一种在我的回答中使用 nuget 4.0 的方法。
  • 不幸的是,我已经尝试过了 - 我收到“错误:Iac.Repository/nuget.exe failed.spawn Iac.Repository/nuget.exe ENOENT”
  • 您是否将 NuGet.exe 的路径 设置为 $(build.sourcesDirectory)/nuget.exe
  • 它在下面的目录中,但是是的,我确实正确引用了该文件
【解决方案2】:

我也遇到了这个问题,找到了这个帖子。

在查看了 Marina 的 cmets 之后,我能够让它工作。我所做的只是根据 cmets 更改路径。

$(Build.SourcesDirectory)\Builds\Tools\nuget.exe

【讨论】:

  • 这最好是对引用答案的评论,而不是自己的答案。 (但我知道你还没有足够的声誉来发表评论)
猜你喜欢
  • 1970-01-01
  • 2017-12-17
  • 2017-07-30
  • 1970-01-01
  • 1970-01-01
  • 2023-01-17
  • 1970-01-01
  • 2018-12-07
  • 2013-09-30
相关资源
最近更新 更多