(git tfs fetch) TF400324: службы Team Foundation недоступны, основное соединение было закрыто
Я использую 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-сервер отключил сокет, когда мой ноутбук попытался подключиться.
Поговорив с одним из наших администраторов сервера, я обнаружил, что поддержка TLS 1.0 была отключена на наших серверах TFS, и я думаю, что у меня есть пистолет для курения. Я думаю, что мой ноутбук пытается подключиться к нашим серверам, используя TLS 1.0, что, конечно, заставляет сервер закрывать сокет.
Как я могу изменить версию TLS, которая git tfs
используется при подключении к Team Foundation Services?
1 ответ
Я понял это, и, как я подозревал, отключение TLS 1.0 на серверах Team Foundation было корнем проблемы. После googling git tfs tls 1.0 я наткнулся на Включение сильной криптографии для всех приложений.Net, что привело меня к исправлению. Вам нужно включить сильное шифрование для приложений.NET (да, так сказано в заголовке).
Откройте командную строку PowerShell и запустите ее с повышенными привилегиями.
Выполните следующую команду для 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
Запустите эту команду для 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
Перезагружать.
Теперь моя машина с радостью снимает около сотни проверок TFS.
У меня нет особых технических знаний о TFS, но каждый день мне приходится проверять свой код из Visual Studio, и недавно я столкнулся с этой проблемой. Вышеупомянутое решение вышло из моей головы, поэтому я попробовал более простой способ:
- Вышел из системы, затем снова вошел в TFS через Команда-> Управление подключениями.
- Снова нанес на карту мой проект.
И вуаля! Я успешно зарегистрировал свой код. Может это поможет другим