【问题标题】:VSTS Nuget restore credentialsVSTS Nuget 还原凭据
【发布时间】:2018-09-12 09:15:17
【问题描述】:

我们正在使用需要身份验证的 nuget 包,当我们尝试通过 VSTS 构建构建项目时遇到问题。我们可以从经过身份验证的浏览器和 Visual Studio 中提取外部 nuget 包提要。该项目在本地构建并且没有问题。但是,在运行 VSTS 构建时,我们会收到 401 未经授权的混乱,即使我们认为我们已正确设置。

设置

  1. Image of nuget task
  2. Image of authentication for nuget feed
  3. Image of personal access token that is used

构建日志

显示身份验证已被提取并正在应用的部分日志:

2018-03-30T19:38:43.2917713Z 将 NuGet.config 保存到临时配置文件。 2018-03-30T19:38:43.3113980Z 使用以下 URI 的身份验证信息:https://microsoft.pkgs.visualstudio.com/_packaging/MEE.Privacy/nuget/v3/index.json 2018-03-30T19:38:43.3123672Z [command]D:\a\_tool\NuGet\4.1.0\x64\nuget.exe 源删除 -NonInteractive -Name Privacy -ConfigFile D:\a\4\Nuget\tempNuGet_5609 .config 2018-03-30T19:38:45.5301476Z 包源名称:已成功删除隐私。 2018-03-30T19:38:45.5348241Z [命令]D:\a\_tool\NuGet\4.1.0\x64\nuget.exe 源添加 -NonInteractive -Name Privacy -Source https://microsoft.pkgs.visualstudio。 com/_packaging/MEE.Privacy/nuget/v3/index.json -ConfigFile D:\a\4\Nuget\tempNuGet_5609.config -用户名******** -密码******** 2018-03-30T19:38:46.0254022Z 包源名称:已成功添加隐私。 2018-03-30T19:38:46.0295574Z [命令]D:\a\_tool\NuGet\4.1.0\x64\nuget.exe 恢复 D:\a\4\s\msc\dev\Msc.Privacy\Msc .Privacy.sln -详细信息 -NonInteractive -ConfigFile D:\a\4\Nuget\tempNuGet_5609.config


我们在尝试查找 nuget 包时收到的错误:

nuget 命令失败,退出代码 (1) 和错误(packages.config 项目中的错误 找不到包“Microsoft.PrivacyServices.CommandFeed.Client”的版本“1.1.18087.3”。 C:\Users\VssAdministrator\.nuget\packages\:在源“C:\Users\VssAdministrator\.nuget\packages\”上找不到包“Microsoft.PrivacyServices.CommandFeed.Client.1.1.18087.3”。 D:\a\4\Nuget\..\..\_Packages:在源 'D:\a\4\Nuget\..\ 上找不到包 'Microsoft.PrivacyServices.CommandFeed.Client.1.1.18087.3'。 .\_包'。 https://api.nuget.org/v3/index.json:在源“https://api.nuget.org/v3/index”上找不到包“Microsoft.PrivacyServices.CommandFeed.Client.1.1.18087.3”。 json'。 https://microsoft.pkgs.visualstudio.com/_packaging/MEE.Privacy/nuget/v3/index.json:无法加载源 https://microsoft.pkgs.visualstudio.com/_packaging/MEE 的服务索引。隐私/nuget/v3/index.json。 响应状态码不表示成功:401(未授权)。

问题

关于我们可能缺少什么的任何想法?

【问题讨论】:

  • 这些步骤对我来说效果很好。该用户(PAT 创建者)是否有权访问该提要?使用新的个人访问令牌重试?可以分享一下 OneDrive 上的详细日志吗? (将 system.debug 变量设置为 true,然后排队构建并共享此日志)
  • 是的,该用户有权访问该提要。我重新创建了令牌并重新运行了构建,结果仍然相同。我会将启用调试信息的日志发送给您。
  • 尝试手动调用nuget install [package] -source Privacy命令,然后指定customtoken为用户名,pat为密码,然后查看结果。 (删除C:\Users\[username]\AppData\Roaming\NuGet\nuget.config 文件中的packageSourceCredentials 中的相关凭据。
  • 如何手动运行 nuget 命令,命令类型是否使用“自定义”?另外,如何在构建过程中从该 nuget.config 文件中删除 packageSourceCrendentials?您收到我发送的日志了吗?
  • 只需下载nuget.exe,然后在本地机器的命令提示符下调用nuget.exe install [package] -source Privacy

标签: authentication build nuget azure-devops


【解决方案1】:

事实证明我们的个人访问令牌设置不正确。创建令牌时,我们没有选择正确的帐户。为了解决我们的问题,我们使用“所有可访问的 [Microsoft] 帐户”而不是“myuser1”创建了一个新令牌。

Image of personal access token creation

【讨论】:

    猜你喜欢
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 2017-05-02
    • 1970-01-01
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 2018-03-29
    相关资源
    最近更新 更多