TFS无法从Linux中的Tfs软件包(Azure工件)还原nuget

时间:2019-09-07 14:55:52

标签: tfs azure-devops

我想使用Linux的构建代理程序来构建.net核心应用程序。但是,如果我的nuget托管在tfs软件包或Azure Artifacts中,则无法还原。

在使用dotnet步骤还原nuget时总是会出错

/usr/share/dotnet/sdk/2.2.300/NuGet.targets(121,5):错误:无法加载源http://tfsServer/ProjectCollection/_packaging/guid/nuget/v3/index.json的服务索引。

/usr/share/dotnet/sdk/2.2.300/NuGet.targets(121,5):错误:响应状态代码未指示成功:401(未授权)

Nuget Task Config

Error Message

我尝试:

请参考https://github.com/microsoft/artifacts-credprovider中提到的做法,以在Linux代理中安装插件并在编译时指定环境变量VSS_NUGET_EXTERNAL_FEED_ENDPOINTS。 但是没有效果。

如果您不使用tfs本身的nuget。 使用nuget.server引用的空白站点构建的nuget可以正常还原。

Tfs服务器版本:Tfs 2018 Update2
Build Agent Linux服务器:centos 7.2
代理版本:2.131

1 个答案:

答案 0 :(得分:0)

根据此链接中的类似错误:https://github.com/NuGet/Home/issues/6902

您应该能够使用提到的凭证提供程序。还请确保您已满足所有先决条件

  • Windows上的MSBuild :安装Visual Studio版本15.9-preview1或 稍后获取所需版本的msbuild(15.8.166.59604或 稍后)。
  • NuGet :命令行版本4.8.0.5385或更高版本上的NuGet(.exe)是 必填。
  • dotnet :Windows需要dotnet SDK版本2.1.400或更高版本。

此外,您的构建代理版本2.131太旧。请将azure-pipelines-agent升级到最新版本,然后重试。