我在 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缓存(这两个单独删除是没有用的,必须一起删除)。
如果您发现删除以上两项后,会从缓存中下载而不会弹出登录窗口,建议您清理以下文档中写的本地缓存:
因为如果可以从缓存中获取包,nuget命令就不会弹出登录窗口。
总而言之,在您的情况下,凭据可能会缓存在平台工具中。对于 DevOps 源,它是 Azure Artifacts 凭据提供程序;在您的情况下,您没有指定您正在使用哪个平台,因此它可能会有所不同。还要记得清除 https 缓存。
关于visual-studio - 为什么 Visual Studio 2022 在 NuGet 包还原期间不再提示我输入凭据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75477450/