2

我已经使用 git-tfs 快 5 年了,然后有一天我在运行时遇到以下错误git tfs fetch

TF400324: Team Foundation services are not available from server https://tfs.company.com/tfs/foo.
Technical information (for administrator):
  The underlying connection was closed: An unexpected error occurred on a send.
The underlying connection was closed: An unexpected error occurred on a send.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host

我什至打开 Fiddler 看看发生了什么,当我的笔记本电脑尝试连接时,TFS 服务器实际上断开了套接字。

在与我们的一位服务器管理员交谈后,我发现我们的 TFS 服务器上已禁用对 TLS 1.0 的支持,我想我已经掌握了确凿的证据。我认为我的笔记本电脑正在尝试使用 TLS 1.0 连接到我们的服务器,这当然会导致服务器关闭套接字。

如何更改git tfs连接到 Team Foundation Services 时使用的 TLS 版本?

4

2 回答 2

4

我想通了,我怀疑在 Team Foundation Servers 上禁用 TLS 1.0 是问题的根源。在谷歌搜索git tfs tls 1.0之后,我偶然发现了Enabling strong cryptography for all .Net applications,这导致了我的修复。您需要为 .NET 应用程序启用强加密(呃,标题中是这样说的)。

  1. 打开 PowerShell 命令提示符,以提升的权限运行它

  2. 对 64 位应用程序运行以下命令:

    # set strong cryptography on 64 bit .Net Framework (version 4 and above)
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
    
  3. 为 32 位应用程序运行此命令

    # set strong cryptography on 32 bit .Net Framework (version 4 and above)
    Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Type DWord
    
  4. 重启。

现在我的机器很高兴地从 TFS 拉下一百左右的签到。

于 2018-08-16T18:53:18.373 回答
0

我对 TFS 没有太多技术知识,但每天我都必须从 Visual Studio 签入我的代码,最近我遇到了这个问题。这里提到的上述解决方案超出了我的想象。所以,我尝试了一种更简单的方法:

  1. 注销然后通过 Team-> Manage Connections 再次登录到 TFS。
  2. 再次映射我的项目。

瞧!我成功签入了我的代码。也许这会帮助其他人

于 2020-06-16T06:51:58.763 回答