从VS2010中的WinForms验证TFS服务失败

从VS2010中的WinForms验证TFS服务失败,winforms,visual-studio-2010,authentication,tfs,Winforms,Visual Studio 2010,Authentication,Tfs,在我的.Net windows应用程序(一个代码生成器)中,我想从TFS服务中以编程方式签出文件。虽然我可以从TFS服务访问和签出VS2010中的文件,但我的程序总是返回 “TF30064:您无权访问服务器” 我尝试过很多事情,比如: var account = new NetworkCredential(Username, Password); tfs.TfsTeamProjectCollection teamProjectCollection = new tfs.TfsTeamPr

在我的.Net windows应用程序(一个代码生成器)中,我想从TFS服务中以编程方式签出文件。虽然我可以从TFS服务访问和签出VS2010中的文件,但我的程序总是返回

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

我尝试过很多事情,比如:

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

非常感谢您提供的任何帮助

如果您以自己的身份运行应用程序,并且您可以访问TFS,那么您只需执行以下操作:

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

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

特别是(代表另一个用户(模拟))中的这一部分:

使用经过身份验证的凭据

可以使用ICredentials对象 当连接到Team Foundation Server以指定身份到 冒充。此策略不需要特殊权限,但 您必须能够获取标识的密码才能创建 ICredentials对象。您还可以指定的实现 当连接到Team Foundation Server时,ICRealTaleStApple提供程序 处理新凭据的请求。系统调用 您指定请求新的ICredentialProvider的实现 当指定的凭据 ICredentials对象未成功验证或授权 执行该操作。要提示用户输入凭据,您可以 使用UICredentialsProvider类,该类实现 ICredentialsProvider,显示登录对话框以提示 新凭据的用户


谢谢拉斐尔,让我意识到这个例子。