NuGet失败:“底层连接已关闭:发送时发生意外错误”

时间:2013-12-07 19:32:27

标签: nuget

我想通过使用Manage Nuget Packages安装Microsoft ASP.NET Identity Core,但是当我单击安装按钮时会出现以下错误:

基础连接已关闭:发送

时发生意外错误

8 个答案:

答案 0 :(得分:8)

这是http://go.microsoft.com上的SSL证书问题。将包源网址更改为适用于我的http://packages.nuget.org/v1/FeedService.svc/

来源:https://nuget.codeplex.com/discussions/275537

答案 1 :(得分:7)

我在使用Microsoft Visual Studio Premium 2012的旧客户开发人员VM上遇到此错误:

Install-Package:从以下位置加载软件包时发生错误 'https://nuget.org/api/v2/':基础连接已关闭: 发送时发生意外错误

enter image description here

通过转到工具->扩展和更新...->更新-> Visual Studio Gallery并从此处更新NuGet软件包管理器来解决它。

enter image description here

重启后一切正常:

enter image description here

答案 2 :(得分:3)

自2020年6月15日起,NuGet删除了对TLS 1.0和1.1的支持。 参见https://devblogs.microsoft.com/nuget/deprecating-tls-1-0-and-1-1-on-nuget-org/

如果您使用的是 VS2013 或更少,那么截至该日期您已经失去了NuGet的连接,并且只能通过至少升级到 VS2015 来使用NuGet。我建议在发表此评论时最晚升级到 VS2019

答案 3 :(得分:1)

如果您的防火墙正在进行SSL检查,则会发生这种情况。您可能需要将回购列表列入白名单。

答案 4 :(得分:1)

如果您没有启用TSL 1.0,也会发生这种情况(在Server 2012R2中默认禁用)。在这种情况下,您可能会看到一些软件包安装成功,然后才能点击“基础连接已关闭:发送时发生意外错误”错误。

有关错误的更多详细信息,请使用“Verbosity detailed”

从命令行运行nuget install

  

System.Net.WebException:底层连接已关闭:意外错误   或发生在接收上。 ---> System.ComponentModel.Win32Exception:客户端   和服务器无法通信,因为它们没有通用的算法

答案 5 :(得分:1)

尝试将以下内容粘贴到.reg文件中并运行。然后尝试运行您的NuGet命令(无需重新启动)。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001

由于未启用TLS1.2(类似于Tony的响应),导致出现此问题。使用 http不会没有帮助解决该问题,因为在强制执行TLS1.2的情况下,NuGet重定向到https。

答案 6 :(得分:0)

通常,这与没有有效SSL证书的网络服务器有关。无效的SSL证书可能是由于它是自签名的并且不受CA信任,或者CA已撤销证书。

使用未经身份验证的URL可以解决此问题,但问题的解决方案是确保SSL证书有效。

答案 7 :(得分:0)

就我而言,我们有阻止.EXE下载的规则,因此我们在.nuget解决方案文件夹中的NuGet.targets和NuGet.Config旁边保留了NuGet.exe的副本

无论出于何种原因,新分支中都没有此内容。