VS2010中的WinForms对TFS服务的身份验证失败

时间:2013-03-04 20:38:01

标签: winforms visual-studio-2010 authentication tfs

在我的.Net windows应用程序(代码生成器)中,我想从TFS服务中逐步检出文件。虽然我可以从TFS服务访问和签出VS2010中的文件而没有任何问题,但我的程序总是返回

  

“TF30064:您无权访问服务器”

我尝试了很多东西,比如:

var account = new NetworkCredential(Username, Password);
tfs.TfsTeamProjectCollection teamProjectCollection = 
    new tfs.TfsTeamProjectCollection(new Uri(anUrl), account);
teamProjectCollection.Authenticate();

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

如果您自己运行应用程序,并且可以访问TFS,那么您可以这样做:

var uri = new Uri("http://tfsserver:8080/tfs/MyCollection");
using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri))     
{         
    tfs.EnsureAuthenticated(); 
    //Your code goes here...
}

答案 1 :(得分:0)

看看:Connect to Team Foundation Server from a Console Application

它说的是一个控制台应用程序,但您也可以使用WinForm应用程序中的所有提示。

特别说明,这部分(代表另一个用户行事(冒充)):

  

使用经过身份验证的凭据

     

您可以使用ICredentials对象   连接到Team Foundation Server以指定标识时   模仿。此策略不需要特殊权限,但是   你必须能够获得创建身份的密码   ICredentials对象。您还可以指定实现   连接到Team Foundation Server时的ICredentialsProvider   处理新凭证的请求。系统调用   您指定用于请求新的ICredentialsProvider的实现   凭据由。指定的凭据   ICredentials对象未成功通过身份验证或授权   执行操作。要提示用户输入凭据,您可以   使用实现的UICredentialsProvider类   ICredentialsProvider通过显示一个登录对话框来提示   用户获得新凭据。