visual-studio - 为什么 Visual Studio 2022 在 NuGet 包还原期间不再提示我输入凭据?

标签 visual-studio nuget visual-studio-2022 nuget-package-restore

我在 Visual Studio 2022 中有一个 .Net Core C# 解决方案。 它使用多个需要凭据的 NuGet 包。

我在尝试恢复 NuGet 包时遇到了凭据/密码不正确的问题。 Visual Studio 之前在恢复时提示我输入凭据。现在它不再提示我输入凭据,而不是让我使用更新的密码。我尝试删除/读取软件包;删除我的/bin 和/obj 文件夹;重新启动 Visual Studio;重新启动机器。

为什么 Visual Studio 2022 不再提示我输入 NuGet 包凭据?

我需要做什么才能再次开始收到提示?是否有某种缓存?

最佳答案

我在我的案例中进行了测试,凭据确实不在Windows的凭据管理器中。

就我而言,我能够再次弹出登录窗口。

我从 DevOps 私有(private)源安装了该软件包:

nuget install ClassLibrary1 -源 https://pkgs.dev.azure.com/xxx/_packaging/xxx/nuget/v3/index.json

第一次成功登录后,我这边确实没有弹出窗口让我登录。当我踢出之前经过身份验证的用户时,出现错误。

就我而言,要再次弹出登录窗口,需要删除两件事:

C:\Users\Administrator\AppData\Local\MicrosoftCredentialProvider   //If you are based on DevOps feed, delete the content in this path; if not there should be other platform tool path

nuget locals http-cache --clear

第一个是凭证提供者缓存,第二个是nuget的http缓存(这两个单独删除是没有用的,必须一起删除)。

如果您发现删除以上两项后,会从缓存中下载而不会弹出登录窗口,建议您清理以下文档中写的本地缓存:

Clearing local folders

因为如果可以从缓存中获取包,nuget命令就不会弹出登录窗口。

总而言之,在您的情况下,凭据可能会缓存在平台工具中。对于 DevOps 源,它是 Azure Artifacts 凭据提供程序;在您的情况下,您没有指定您正在使用哪个平台,因此它可能会有所不同。还要记得清除 https 缓存。

关于visual-studio - 为什么 Visual Studio 2022 在 NuGet 包还原期间不再提示我输入凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75477450/

相关文章:

git-submodules - VS2022 - 子模块的 Git 更改始终显示更改

git - Visual Studio Git Remote 列表仍然显示已删除的分支

c++ - 控制台鼠标输入不工作

visual-studio - VS 2017 15.3引用上的黄色三角形

visual-studio - 有没有办法在命令行上使用 devenv.exe 仅链接项目而不是完整构建项目?

authentication - 发布到自托管 NuGet 服务器时如何修复 401 身份验证错误

c# - 我应该如何在 nuget 包中包含与 MVC 相关的 namespace ?

c# - Visual Studio 2022 - 嵌套部分类(文件)

visual-studio - UWP - SignTool 错误 : No certificates were found that met all the given criteria

xml - 打开两个XMl文件时Visual Studio崩溃