使用asp.net core rc2从Visual Studio Team Services中未经授权的nuget包

HPa*_*ton 8 nuget-package nuget-package-restore azure-devops asp.net-core

我无法从asp.net核心Web应用程序(RC2)中的Visual Studio Team Services订阅源安装/恢复nuget包.我收到以下内容:

错误:响应状态代码不表示成功:401(未授权).

我正在运行Visual Studio Community 2015 Update 2和nuget版本3.4.4.我能够在其他项目类型中从此Feed安装/恢复软件包.

我是否需要做一些其他事情才能将我的凭据传递给asp.net核心Web应用程序?

重现步骤:

从Team Services包选项卡中选择"Connect to Feed"并复制NuGet包源URL

在visual studio - >工具 - > NuGet包管理器 - >包管理器设置 - >包源并从vso添加源URL

然后从我的ASP.NET核心Web应用程序(.NET Framework)项目右键单击引用 - >管理NuGet包 - >从包源选择我的订阅源(列出包) - >单击以安装

在输出中:

Installing NuGet package xxxxx 
Successfully installed xxxxx to WebApplication1
========== Finished ==========
Run Code Online (Sandbox Code Playgroud)

然后它会尝试恢复我得到的包:

error: Response status code does not indicate success: 401 (Unauthorized).
error: Failed to retrieve information from remote source
Run Code Online (Sandbox Code Playgroud)

在web项目引用中 - 包有警告图标 - NU1001无法解析依赖关系xxxxx

Tho*_*eir 36

就我而言,我使用的是 azure dev ops feed。更新 Visual Studio 2022 后,我开始收到此消息“响应状态代码不指示成功:401(未经授权)”。

我遵循并尝试了这里的大部分解决方案。但对我有用的是

  • 转到:文件 -> 帐户设置
  • 点击“退出”
  • 然后进入nuget管理器,点击刷新按钮
  • 然后,这将向您显示 azure dev ops 登录窗口,您可以在其中登录您的帐户

这对我有用,(你的里程可能会有所不同)只是希望它能帮助其他人并挽救一些珍贵的后退头发。

  • 不相信。但这有效。谢谢。在这里发表评论,以便人们可以尝试一下,节省一些时间。 (2认同)

Pim*_*nta 27

我知道这不是完全相同的问题,但人们可能会像我一样遇到这个问题。

我已经安装了 VS Community 2019?昨天我决定删除VS 2017,但之后,当我尝试恢复该公司制作的Nuget Packages时,它开始显示错误401 Unauthorized

经过几次网络搜索后,我决定不想弄乱 VS 配置和文件,然后我意识到,因为它是 401 Unauthorized 它与帐户相关,所以我所做的是:

  • 封闭 VS2019
  • 转到 Windows 管理凭据并删除所有与我的软件包相关的凭据
  • 重新打开 VS 2019 并为我的解决方案恢复了 Nuget 包。他们要求我提供凭据,进行设置,从这里开始一切顺利。

这是我删除并重新创建的两个帐户:

在此处输入图片说明


Mar*_*ski 7

就我而言,我使用的是Azure Devops 私有源,并且 NuGet 包恢复在 Visual Studio 和Nuget CLI中工作,但它不适用于 Rider 和dotnet restore命令

解决方案是安装Azure Artifacts Credential Provider,它解决了该问题。我只需运行以下命令即可安装它:

iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) }"
Run Code Online (Sandbox Code Playgroud)

这是针对本地开发人员计算机的修复。要在 CI/CD 上修复它,请检查问题。


Edd*_*SFT 5

我可以在我身边重现您的问题,以下是我用来恢复软件包的解决方法:

  1. 从"VS\Tools\NuGet Package Manager\Package sources"中删除VSTS源资源.
  2. 从VSTS Web门户打开"包"选项卡.
  3. 选择要连接的Feed,然后点击"连接到Feed"选项.
  4. 在对话框中选择"个人访问令牌"方法.
  5. 在对话框中复制生成的命令.
  6. 在您的计算机上以管理员身份运行CMD.
  7. 将复制的命令粘贴到CMD中.
  8. 在命令后添加"-StorePasswordInClearText"参数.
  9. 运行命令.
  10. 重启VS.
  11. 安装和还原包.

  • 我们已将此解决方法添加到 VSTS NuGet 源的文档中:https://www.visualstudio.com/en-us/docs/package/get-started/nuget/auth#dotnet-core (2认同)