VS即使在清除缓存并从凭据管理器中删除后也会记住TFS凭据

本文关键字:删除 凭据 TFS 管理器 清除 缓存 VS | 更新日期: 2023-09-27 18:28:17

我编写了一个连接到TFS的小型Winform程序。我的问题是,我总是成功地连接到TFS,即使我写错了凭据,但在调试模式下,我看到我的实际凭据被使用了。

我在这里看到了一个类似的问题,并完全按照建议进行了操作,从凭据管理器中删除了我的TFS凭据,但仍然没有运气(是的,我确实退出并重新打开了VS)。我还注销了TFS本身,并删除了visual studio上的连接。此外,我按照这里的建议删除了缓存文件夹。

我的代码看起来像这样:

folderPath=@"$/TFS_PATH";
            
cred = new NetworkCredential(ConfigurationManager.AppSettings["user"], ConfigurationManager.AppSettings["pass"]);
tfs = new TeamFoundationServer("CollectionPath", cred);
tfs.EnsureAuthenticated();
            
MessageBox.Show("tfs.EnsureAuthenticated() succeeded");

代码的一些解释:

cred是NetworkCredential 的一个实例

tfs是TeamFoundationServer 的一个实例

用户名和密码在app.config中。不知怎么的,它完全忽略了它,并使用了我的真实凭据。

有人知道我还能做什么吗?我的目标是通过存储在app.config ONLY中的用户名和密码从任何计算机/服务器启用TFS连接,而不依赖于存储在机器iteself上的凭据。

感谢

VS即使在清除缓存并从凭据管理器中删除后也会记住TFS凭据

有两个凭据必须删除。其中一个位于"Windows凭据"下,另一个则位于"通用凭据"下。

它会自动使用登录的windows用户的凭据。

您应该使用要用于连接到TFS的凭据来运行Visual Studio。看见https://social.msdn.microsoft.com/Forums/vstudio/en-US/a239a959-1c01-4592-a754-f6fc7d5a9b94/change-user-when-i-connect-to-team-foundation-server?forum=tfsgeneral了解更多详细信息。

问题是我没有正确地断开与VS的连接。仅仅删除连接是不够的。我需要验证我是否已注销:打开VS,单击"连接到Team Foundation…",然后单击弹出窗口左下角的"注销"。就是这样。