在我的.Net windows应用程序(代码生成器)中,我想从TFS服务中逐步检出文件。虽然我可以从TFS服务访问和签出VS2010中的文件而没有任何问题,但我的程序总是返回
“TF30064:您无权访问服务器”
我尝试了很多东西,比如:
var account = new NetworkCredential(Username, Password);
tfs.TfsTeamProjectCollection teamProjectCollection =
new tfs.TfsTeamProjectCollection(new Uri(anUrl), account);
teamProjectCollection.Authenticate();
非常感谢任何帮助
答案 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通过显示一个登录对话框来提示 用户获得新凭据。