tfs - 在 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();
解决方案
对于 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
推荐阅读
- javascript - 使用适配器功能将动态自定义标记图像添加到 AMCharts 中的图例
- r - 用于 Shiny 上多个场景的 RSelenium 并发用户
- apache-pulsar - Pulsar Reader 错过阅读器离线时写入的消息
- java - Spring cloud sleuth ExtraFieldPropagation在Spring cloud Gateway Filter中失败
- reactjs - graphQL apollo 库中的 cache.writeFragment 方法不起作用
- karate - 如何使用空手道生成简单的测试结果,例如 {testname:abc, status:pass:duration23sec}
- sql - 恢复任务:无法使用根任务 *XXXX* 更新图形,因为该根任务未挂起
- python - 如何将列表中的确切字符串匹配到考虑空格的较大字符串?
- angular - 使用 asyncScheduler 和 flush 进行角度测试 - 为什么使用 flush() 失败?
- angular - mat-checkbox and checked value (A) or checked value (D)