在 TFS2015 update2 vNext 构建配置中发送请求时出错

An error occurred while sending the request in TFS2015 update2 vNext build configuration

配置 TFS vNext 构建代理时出现错误:

错误连接到服务器 发送请求时出错。请求。

我在事件日志或其他地方找不到任何其他错误消息。

请帮忙

更新 1:SSL (https///tfs) 没有 work.but 普通的 http:// 起作用。

更新 2:我删除了旧代理并尝试配置新代理。在执行此操作时,我收到 _diag 文件夹中存在的以下错误:

System.Net.WebException:基础连接已关闭:发送时发生意外错误。 ---> System.IO.IOException: 无法从传输连接读取数据: 现有连接被远程主机强行关闭。 ---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭 .... System.Net.WebException: 底层连接已关闭:发送时发生意外错误。 ---> System.IO.IOException: 无法从传输连接读取数据: 现有连接被远程主机强行关闭。 ---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭 .... System.IO.IOException: 无法从传输连接读取数据:现有连接被远程主机强行关闭。 ---> System.Net.Sockets.SocketException: 现有连接被远程主机强行关闭 .... System.Net.Sockets.SocketException (0x80004005): 现有连接被远程主机强行关闭

更新 3: 我有两个服务器如下: 1 是应用程序服务器,另一个是 SharePoint 和报告服务器,试图在第三台服务器中配置构建。 TFS URL 配置了 SSL 443。

如果我尝试使用 http://tfs server/tfs 配置代理,它会成功,但在构建时收到错误。 当我尝试使用 https 配置时,出现上述错误。有趣的是,我曾将这台服务器用于两个代理,在那种情况下,我还有一台服务器出现错误但工作正常。

如果下次您在构建代理配置过程中遇到一些问题。对于故障排除,您可以查看相关的配置日志。要查看发生了什么,您只需转到安装代理的文件夹即可。在该文件夹中,存在一个 _diag 文件夹 ,其中包含日志记录

代理的“ServerUrl”设置列出了 TFS 的默认 URL。默认是端口 8080 上的 HTTP。根据您的更新,如果您已将配置更改为 HTTPS 上的 运行。因此,您的 TFS 不是 8080,而是其他一些,例如 443。并且您或其他 co-workers 在更改为 HTTPS 之前配置了构建代理。

如果是这样,您可能需要更新构建代理文件夹中的“settings.json”文件,并将旧的URL替换为新的.更改此文件后,重新启动构建代理服务,然后返回代理池,刷新页面。

我终于找到了问题的解决方案:

根本原因: TFS vNext 代理使用 .Net framework 4.5... 默认情况下不支持 TLS 1.1/ TLS 1.2。

解决方法: 我们需要修改 .Net framework 注册表项以指示 .Net framework 使用 TLS 1.2。 使用命令更新注册表:

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SchUseStrongCrypto /t REG_DWORD /d 1 /reg:64 (and/or /reg:32)

此处引用: