"Run as different user" Visual Studio 中,无法清除缓存的 TFS 凭据



更新我设法解决了这个问题,让我的用户获得使用凭据集2远程连接到桌面的权限,从而能够从凭据管理器中删除存储的凭据。


我使用一组凭据登录到服务器,并使用"以不同用户身份运行"(Shift+右键单击)打开Visual Studio 2012,因为我需要第二组凭据来部署到我的dev.env。SharePoint网站。

我之前已经完成了上述操作,然后使用第三组凭据连接到TFS,因为我的用户(第二组凭据)还没有访问权限。现在我的用户有访问权限,我希望使用这些凭据
每次我使用"以不同用户身份运行"打开VS时,TFS都会自动使用第三组凭据将我登录。但是,如果我在不使用"以其他用户身份运行)"的情况下正常打开VS,则会提示我登录TFS。

我已尝试检查Windows凭据,但没有任何内容。我无法使用第二组凭据登录到服务器,因为只有第一组凭据可以使用远程桌面访问服务器。

那么,当使用"以不同用户身份运行"时,我如何"清除"缓存的TFS凭据呢?

转到控制面板>用户帐户>管理您的凭据>选择Team foundation Server并选择remove/edit-villa!下次进入团队资源管理器时,系统将提示您输入一组新的凭据。

参考编号:http://blogs.msdn.com/b/visualstudioalm/archive/2012/08/29/clearing-the-credentials-for-connecting-to-a-team-foundation-server.aspx

您可以尝试在此处手动清除缓存:
C: \Users[USERNAME]\AppData\Local\Microsoft\Team Foundation \5.0\Cache

您也可以尝试使用/profile参数,并在运行时指定用户名的配置文件

Runas /profile /user:[DOMAIN][administrator] "C:Program Files (x86)Microsoft Visual Studio 12.0Common7IDEdevenv.exe"

http://technet.microsoft.com/en-us/library/bb490994.aspx

对我来说,问题不是用户名/密码,而是缓存的用户名。并且该IS存储在缓存的VersionControl.config中。只要删除该文件就足以让TFS停止尝试连接旧电子邮件。

我也遇到了这个问题,但清除AppData设置没有帮助。

我创建了一个控制台应用程序来连接到TFS,它在我第一次运行时提示我输入凭据。之后,凭据被存储,并将取代我提供的任何其他凭据。我终于发现VS在中添加了一个注册表项

HKEY_CURRENT_USERSoftwareMicrosoftVSCommon14.0ClientServicesTokenStorageVisualStudioVssApp

删除密钥有效,但我也发现可以通过编程实现同样的功能:

var clientCredentails = new VssClientCredentialStorage();
// URI of the target TFS server
var tfsUri = new Uri("https://[username].visualstudio.com/DefaultCollection/");
// Find the cached credentials
var federatedCredentials = clientCredentails.RetrieveToken(tfsUri, VssCredentialsType.Federated);
// Remove the credentials from the cache
clientCredentails.RemoveToken(tfsUri, federatedCredentials);

我遇到了类似的问题,我需要作为Windows帐户之外的另一个帐户登录到本地TFS(在TFS连接的Active Directory中找到),但我在管理器中看不到任何凭据。

解决方案是在VS内部断开连接(菜单团队->断开连接)。然后在凭据管理器中使用与我的Windows用户相同的用户创建一个Windows帐户,但密码不正确。URL/服务器只是"tfs"(没有端口等)。

当我启动VS时,它无法登录到TFS,并要求提供正确的密码和用户名。然后我可以将此更改为另一个用户,下次VS默认为此。

最新更新