我创建了一个控制台应用程序,该应用程序使用Windows身份验证连接到tfs服务器。我已经在Azure Web作业中上传了此应用程序,但是执行该应用程序时显示身份验证错误。如何在Azure Web作业上使用Windows身份验证。我已经尝试过下面的代码,但是它不起作用。
NetworkCredential credentials = new NetworkCredential("UserName", "PAssword","Domain");
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(serverName), credentials);
tpc.Authenticate();
对于TFS 2015及更高版本,要使用特定凭据连接到TFS,您可以参考以下代码段:
要使用特定的凭据连接到TFS:
// For TFS 2015 & above
// Ultimately you want a VssCredentials instance so...
NetworkCredential netCred = new NetworkCredential(@"user.name", @"Password1", "DOMAIN");
WindowsCredential winCred = new WindowsCredential(netCred);
VssCredentials vssCred = new VssClientCredentials(winCred);
// Now you can connect to TFS passing Uri and VssCredentials instances as parameters
Uri tfsUri = new Uri(@"http://tfs:8080/tfs");
var tfsTeamProjectCollection = new TfsTeamProjectCollection(tfsUri, vssCred);
// Finally, to make sure you are authenticated...
tfsTeamProjectCollection.EnsureAuthenticated();
此外,如果您使用的是TFS2017及更高版本,则还可以选择使用PAT令牌。尤其是基本身份验证在某些存储库或环境上受阻。只需在存储库中创建个人访问令牌(PAT)。然后在连接中使用它来访问TFS。
更多详细信息,在这种情况下,请看C.J的回答:Connect to TFS programmatically from vs 2017