命令行中的NuGet.exe给出了 "现有连接被远程主机强制关闭 "的错误信息。

问题描述 投票:0回答:1

我遇到了从命令行调用NuGet.exe的问题。

nuget.exe restore solution.sln

在我的本地机器上,这个命令行可以顺利运行。在构建服务器上,我立即看到以下错误。

An existing connection was forcibly closed by the remote host

对于背景,我正在为我们的.NET框架应用程序的构建服务器设置Jenkins。

无论我是让Jenkins运行命令,还是自己旋转CMD窗口(管理员或其他)运行,这个错误都会发生。即使是 -Verbosity detailed 标志出现时,什么都没有。

奇怪的是,在Visual Studio 2017内针对解决方案进行还原时,却能正常工作。

以前有人遇到过这种情况吗,或者有什么想法?

nuget connection restore
1个回答
1
投票

所以这原来是TLS的问题。查了很多文章,知道了TLS在各个地方正在发生的一些问题,我找到了这篇文章。在NuGet.org上找到了这篇文章: 废弃的TLS 1.0和1.1

我应用了那里提到的注册表更改(如下),突然间我就超越了这个错误

reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32

0
投票

我也见过类似的行为,这是由于我们的IT安全团队封锁了那个特定的域。我可以从我们的开发机器上访问它,但构建服务器(正在运行,不连接到域)被阻止了。

© www.soinside.com 2019 - 2024. All rights reserved.