Ufu*_*arı 3 nuget nuget-package-restore azure-devops
我有一个项目在本地构建得很好,但在 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 恢复步骤。恢复步骤使用 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>
Run Code Online (Sandbox Code Playgroud)
这里可能有什么问题?dotnet 构建步骤是否完全忽略 NuGet.config 文件并尝试项目中的提要?我不知道该提要 URL 是如何生成的。
我能够通过将--no-restore参数传递给dotnet build命令来解决该问题。
我刚刚在这里读了这篇文章,想尝试一下,结果成功了。
使用 .NET Core 1.x SDK,您需要在运行 dotnet build 之前显式运行 dotnet Restore。从 .NET Core 2.0 SDK 开始,当您运行 dotnet build 时,dotnet Restore 会隐式运行。如果要在运行构建命令时禁用隐式恢复,可以传递 --no-restore 选项
看起来dotnet buildVSTS 并不关心 NuGet.config 文件,并尝试在没有它的情况下进行恢复。
| 归档时间: |
|
| 查看次数: |
4272 次 |
| 最近记录: |