无法使用 dotnet restore 从构建访问私有 VSTS 包提要

Unable to access private VSTS package feed from build using dotnet restore

我在 Visual Studio Team Services (VSTS) 中有一个构建,需要从托管在 VSTS 中的私有包提要恢复 NuGet 包。尝试访问私人提要时,构建失败并显示未授权消息 (401)。

经过一番阅读,我发现我应该使用 Microsoft VSTS Credential Provider for NuGet 访问私人提要。通常我不会反对向每个存储库添加一个工具,但让我困扰的是这个可执行文件高达 14MB,我需要将它包含在很多存储库中。

我尝试通过为凭据提供程序包添加 'Download Package' 任务来解决此问题,但这仅适用于 VSTS 提要,不适用于 NuGet 提要。

现在我想知道我在这里做的事情是否正确,因为这不应该那么困难。凭据提供程序不应该默认安装在构建服务器上,或者至少作为任务提供吗?

我能够通过将 dotnet restore Task 替换为 NuGet Restore 任务来解决它。该任务允许我指向 VSTS 包提要。奇怪的是 dotnet 恢复任务 doesn't support 凭证提供者。

您可以通过为 .Net Core Restore step/task 指定 –configfile 个参数来指定 Nuget.config 文件,例如:--configfile $(build.sourcesdirectory) /Nuget.Config.