使用Azure AD工作帐户访问Azure DevOps程序包供稿

时间:2019-01-14 14:32:29

标签: nuget azure-devops credentials

我在Azure DevOps中有一个私人feed,我是该feed的所有者,为了访问Azure DevOps,我使用了我的工作帐户。

从软件包管理控制台访问提要时,将显示一个弹出窗口以输入我的凭据,但是输入工作帐户凭据将返回401提要。如果我尝试再次在浏览器中访问提要,它会提示我输入我的凭据,但是最后我进入了一个循环,要求我提供凭据。

按照以下说明操作后,我设法使nuget cli正常工作:

https://docs.microsoft.com/en-us/azure/devops/artifacts/nuget/bootstrap-nuget?view=vsts

但是,Visual Studio软件包管理器控制台似乎不想使用CredentialProvider.VSS.exe,因此会弹出对话框。

1)我在哪里可以找到为什么它会给我401?我是供稿的所有者,并且供供组织中的人员使用的供稿?

2)上面的链接文章指出“开发人员凭据未放置在存储库的nuget.config中。当init运行时,它将凭据放置在用户的NuAPP配置中的%APPDATA%下”。但是,看着它并没有在该文件中放置任何凭据

有时使用Package Manager控制台时,我得到以下信息:

找不到VSO帐户的有效凭据

非常感谢任何指针。

1 个答案:

答案 0 :(得分:0)

  

使用Azure AD工作帐户访问Azure DevOps程序包提要

当我第一次在Visual Studio中配置Azure DevOps程序包提要时,我收到了与您相同的401错误消息。如您所说,原因是Visual Studio程序包管理器控制台未使用CredentialProvider.VSS.exe。因此,要解决此问题,我们需要使用nuget.config文件手动向Visual Studio提供凭据:

nuget.config中添加以下内容:

  <packageSources>
    <add key="AzureDevOpsFeed" value="<ThePackageSourceFeedUrl>/MyCustomFeed/nuget/v3/index.json" />
  </packageSources>


  <packageSourceCredentials>
    <AzureDevOpsFeed>
      <add key="Username" value="<YourUserName>" />
      <add key="ClearTextPassword" value="<YourPassword>" />
    </AzureDevOpsFeed>
  </packageSourceCredentials>

之后,我们可以在Visual Studio中使用Azure DevOps程序包提要。而且,如果您想将此软件包供稿与构建定义中的nuget restore任务一起使用,则可以选择选项Feed in my nuget.config

enter image description here

希望这会有所帮助。