首页 > 解决方案 > 在 azure web 作业 TFS 连接身份验证错误中执行 .exe

问题描述

我创建了一个使用 Windows 身份验证连接到 tfs 服务器的控制台应用程序。我已经在 azure web 作业中上传了这个应用程序,但是在执行它时显示身份验证错误。如何在 Azure Web 作业上使用我的 Windows 身份验证。我试过下面的代码,但它不起作用。

NetworkCredential credentials = new NetworkCredential("UserName", "PAssword","Domain");

                TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(serverName), credentials);
                tpc.Authenticate();

标签: tfswindows-authenticationazure-webjobsmanual

解决方案


对于 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 token 。特别是在某些存储库或环境中阻止了基本身份验证。只需在存储库中创建个人访问令牌 (PAT)。然后在您的连接中使用它来访问 TFS。

更多细节请看CJ在这种情况下的回答:Connect to TFS programmatically from vs 2017


推荐阅读