TFS 2017 - 构建期间的NuGet Publisher步骤失败,401 Unauthorized

时间:2017-07-20 18:13:35

标签: tfs build nuget tfs2017

我有一个构建定义,其中包含将NuGet包打包并发布到内部源的步骤。该内部订阅源驻留在同一个TFS服务器上。

  • 这是暂时的
  • TFS 2017 15.105.25910.0
  • Feed的权限为:
  • 所有者:
    • [我的帐户]
    • [收藏] \项目收集管理员
  • 提供者
    • 项目收藏建设服务(TEAM FOUNDATION)
  • 读者
    • [收藏] \项目集合有效用户

NuGet包步骤正常,但NuGet发布步骤失败,出现以下错误:

Unable to load the service index for source https://[server]/[collection]/_packaging/Feed/nuget/v3/index.json. 
Response status code does not indicate success: 401 (Unauthorized).

我在构建定义的早期放入了一个Powershell脚本,以确定构建过程中使用的确切帐户,并指出项目集合构建服务(TEAM FOUNDATION),它有权提供到饲料。

以下是C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet>

中Nuget.Config文件的内容
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <disabledPackageSources>
    <add key="Microsoft Visual Studio Offline Packages" value="true" />
  </disabledPackageSources>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

哪些其他信息可以帮助我诊断问题?

2 个答案:

答案 0 :(得分:1)

检查TFS服务器中的默认访问级别是否设置为“利益相关者”。

如果是,请将 TFS服务帐户/项目集合构建服务明确手动添加到高级组,并尝试再次运行构建。有关详细信息,请参阅此类似问题:TFS 2017 NuGet publisher task fails with 401 - Unauthorized exception

答案 1 :(得分:0)

您是否在IIS中为tfs网站启用了基本身份验证?这是我的TFS 2017.2实例出现问题的原因。一旦我禁用它,构建就会成功完成。

  

“TFS希望IIS级别基本身份验证设置为关闭。”

https://developercommunity.visualstudio.com/content/problem/110312/tfs2017-build-nuget-unable-to-restore-package-from.html