【问题标题】:VS remembers TFS credentials even after clearing cache and deleting from Credential Manager即使在清除缓存并从凭据管理器中删除后,VS 也会记住 TFS 凭据
【发布时间】:2016-04-02 02:43:09
【问题描述】:

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

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

我的代码看起来像这样:

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 中的用户名和密码启用来自任何计算机/服务器的 TFS 连接,而不依赖于已经存储在机器本身上的凭据。

谢谢

【问题讨论】:

  • 1)。您使用的代码没有任何问题。 2)。另外,您所说的“我的实际凭据”是什么意思,您是指您用于登录机器的用户帐户吗?

标签: c# visual-studio visual-studio-2012 tfs credentials


【解决方案1】:

您必须删除两个凭据。一个在“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 中。
【解决方案2】:

问题是我没有正确断开与 VS 的连接。 删除连接是不够的。 我需要验证我是否已退出:打开 VS,单击“连接到 Team Foundation...”,然后单击弹出窗口左下方的“退出”。 就是这样。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2011-11-02
    • 1970-01-01
    • 1970-01-01
    • 2012-09-03
    • 1970-01-01
    • 2021-11-13
    相关资源
    最近更新 更多