【问题标题】:dotnet build command fails while restoring packagesdotnet build 命令在还原包时失败
【发布时间】:2018-12-17 02:07:39
【问题描述】:

我有一个在本地构建良好的项目,但在 VSTS 中构建它在 dotnet build 命令中失败。这个错误对我来说看起来很奇怪,因为我不知道为什么构建命令会再次尝试恢复包。以下是错误的样子:

2018-07-09T11:06:48.2541705Z 重试“FindPackagesByIdAsync” 资源 'https://mycompany.pkgs.visualstudio.com/_packaging/5b9fd539-d653-4771-aa3c-6544d73b1234/nuget/v3/flat2/system.data.sqlclient/index.json'。 2018-07-09T11:06:48.2562315Z 响应状态码不指示 成功:401(未授权)。

在构建步骤之前,我有一个成功完成的 dotnet restore 步骤。还原步骤使用 NuGet.config 文件,其中包括 VSTS 中的私有源,但 URL 看起来与错误中的 URL 不同。这里的文件只是为了说明清楚。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyCompany.NuGet.Internal" value="https://MyCompany.pkgs.visualstudio.com/_packaging/MyCompany.NuGet.Internal/nuget/v3/index.json" />
    <add key="MyCompany.NuGet.ThirdParty" value="https://MyCompany.pkgs.visualstudio.com/_packaging/MyCompany.Nuget.ThirdParty/nuget/v3/index.json" />
  </packageSources>
</configuration>

这可能是什么问题? dotnet 构建步骤是否完全忽略 NuGet.config 文件并尝试项目中的提要?我不知道该提要 URL 是如何生成的。

【问题讨论】:

    标签: nuget azure-devops nuget-package-restore


    【解决方案1】:

    我能够通过将--no-restore 参数传递给dotnet build 命令来解决此问题。

    我刚刚阅读了this article here 并想试一试,它奏效了。

    使用 .NET Core 1.x SDK,您需要显式运行 dotnet 在运行 dotnet build 之前恢复。从 .NET Core 2.0 SDK 开始, 运行 dotnet build 时,dotnet restore 会隐式运行。如果你想 要在运行构建命令时禁用隐式还原,您可以 传递 --no-restore 选项

    看起来 VSTS 中的 dotnet build 不关心 NuGet.config 文件并尝试在没有它的情况下进行还原。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-12
      • 1970-01-01
      相关资源
      最近更新 更多