【问题标题】:Connect to TFS using proxy使用代理连接到 TFS
【发布时间】:2016-12-20 13:56:03
【问题描述】:

我正在使用以下代码连接到 TFS

TfsTeamProjectCollection server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(serverName));
server.EnsureAuthenticated();

它工作正常。虽然最近我们已经从本地 TFS 迁移到 VSTS(在云中)。以上仍然有效,但已设置本地代理服务器以帮助加快我们的连接。我可以按照上面的代码进行配置:

var versionControlServer = server.GetService<VersionControlServer>();
versionControlServer.ConfigureProxy(proxyName);

这似乎第一次连接良好。但是,如果我重新启动我的应用程序,“EnsureAuthenticated”调用会失败并出现异常:

Microsoft.TeamFoundation.TeamFoundationServerUnauthorizedException: TF30063: You are not authorized to access mycorp.visualstudio.com\mycorp.
       at Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
       at Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
       at Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
       at Microsoft.TeamFoundation.Framework.Client.LocationWebService.Connect(Int32 connectOptions, Int32 lastChangeId, Int32 features)
       at Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.Connect(ConnectOptions connectOptions)
       at Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.EnsureConnected(ConnectOptions optionsNeeded)
       at Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.EnsureAuthenticated()
       at Microsoft.TeamFoundation.Client.TfsConnection.EnsureAuthenticated()

为了让它再次工作,我发现如果我退出 Visual Studio,我可以删除文件夹 "C:\Users\MyUser\AppData\Local\Microsoft\Team Foundation\6.0\Cache"。当我再次运行我的应用程序时,它将正常连接。但是,这种解决方法在生产中不起作用。

如何使用代理连接并多次连接?

【问题讨论】:

  • 详细的内部错误信息是什么?

标签: c# tfs azure-devops


【解决方案1】:

Microsoft.IdentityModel.Clients.ActiveDirectory 2.28.3 package 安装到我的项目(控制台应用程序)后,它工作正常。

【讨论】:

  • 感谢您的提示。我确实看到了几次不同的异常消息,其中提到了加载该 dll 失败。我认为该消息说它正在寻找 2.16 版的 dll。我不是 100% 确定版本号。你建议我下载的版本是 3.something。安装它似乎没有任何区别。我想知道是不是版本不对。我似乎无法重现包含 dll 版本号的异常消息。我现在只收到问题中发布的异常消息。
  • @ScottLangham Is Inner 错误消息与您所说的“您无权访问”相同。我的内部消息是无法加载 Microsoft.IdentityModel.Clients.ActiveDirectory 2.16。通过安装 2.28.3 修复。另一方面,我正在使用扩展客户端包(nuget.org/packages/…
猜你喜欢
  • 2011-02-18
  • 2010-11-03
  • 2019-03-21
  • 2018-03-07
  • 2020-07-04
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 1970-01-01
相关资源
最近更新 更多