VSTS NuGet包源认证问题:访问Feed时需输入账号密码
解决VSTS/Azure DevOps NuGet包源反复要求输入凭据的问题
你遇到的这个问题我之前配置Azure DevOps(原VSTS)包源时也碰见过,明明加了Credential Provider还是弹登录框,试试下面这几个实用方法,应该能解决:
检查并重置Windows凭据管理器中的存储项
旧的或错误的凭据经常会干扰验证流程:- 按Win+R输入
rundll32.exe keymgr.dll,KRShowKeyMgr打开Windows凭据管理器 - 找到所有和
mycompany.pkgs.visualstudio.com相关的凭据条目,全部删除 - 重启Visual Studio,再次打开"Manage NuGet Packages for Solution",此时弹出登录窗口时别用账户密码,改用个人访问令牌(PAT):用户名随便填(比如
PAT),密码填你在Azure DevOps里生成的PAT(需要有Packaging相关权限)
- 按Win+R输入
确保CredentialProvider.VSS.exe放置路径正确
很多人会因路径错误导致Provider不生效:- 确认你下载的是对应Visual Studio架构的版本(x86对应32位VS,x64对应64位)
- 把整个CredentialProvider.VSS文件夹(包含exe和依赖文件)放到
%UserProfile%\.nuget\plugins\netfx\CredentialProvider.VSS路径下,如果没有对应子目录,手动创建即可 - 重启Visual Studio,让NuGet加载这个Provider
手动在NuGet.Config中配置凭据(快速测试用)
如果上面的方法都不行,可以直接在配置文件里临时配置凭据(注意明文密码的安全问题,测试完成后建议删除):- 打开
%UserProfile%\.nuget\NuGet\NuGet.Config文件 - 添加或修改如下配置(替换成你的包源名称和PAT):
<packageSources> <add key="MyVSTSFeed" value="https://mycompany.pkgs.visualstudio.com/.../v3/index.json" /> </packageSources> <packageSourceCredentials> <MyVSTSFeed> <add key="Username" value="PAT" /> <add key="ClearTextPassword" value="你的PAT内容" /> </MyVSTSFeed> </packageSourceCredentials> - 保存文件后重启VS,应该就不会再弹登录框了
- 打开
优先使用个人访问令牌(PAT)而非账户密码
现在很多公司的Azure DevOps账户都启用了多因素认证(MFA),普通账户密码无法通过NuGet的验证,必须用PAT:- 登录Azure DevOps,进入右上角的用户设置 → Personal access tokens
- 新建一个PAT,勾选
Packaging下的Read和Write权限(根据你的需求调整),设置合适的过期时间 - 用这个PAT作为密码验证包源,基本都能解决MFA导致的验证失败问题
内容的提问来源于stack exchange,提问作者Andrew Stephens
相关产品推荐
相关产品推荐

