【问题标题】:The underlying connection was closed: An unexpected error occurred on a send.--- NuGet底层连接已关闭:发送时发生意外错误。--- NuGet
【发布时间】:2014-11-14 10:44:40
【问题描述】:

在尝试恢复 nuget 包时,我得到以下信息:-

错误 1 ​​底层连接已关闭:发送时发生意外错误。

错误 2 底层连接已关闭:无法为 SSL/TLS 安全通道建立信任关系。

错误 3 命令 ""D:\root\.nuget\NuGet.exe" install "D:\root\packages.config" -source "" -NonInteractive -RequireConsent -solutionDir "D:\root\""以代码 1 退出。

错误 4 元数据文件 'D:\root\project.Website.dll' 找不到 D:\root\project.UnitTests\CSC

我尝试了提供的解决方案:Visual Studio 2010 nuget error: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel

我尝试了提供的解决方案:https://nuget.codeplex.com/discussions/275537

它们都不起作用,我想知道是否还有其他人目前有这个问题?如果有,有没有人提出解决方案?

看来,要修复 SSL 证书可能是一场等待游戏。

在使用 Fiddler 进行进一步调试后,我得到以下响应:

fiddler.network.https> 与 az320820.vo.msecnd.net 的 HTTPS 握手失败。 System.IO.IOException 无法从传输连接读取数据:现有连接被远程主机强行关闭。

如果我是正确的,我似乎被拒绝了,但服务器不知道为什么,我希望这会很快自行解决。

目前,我已经设法从其他尚未清除包缓存的开发人员那里获得包的副本,并继续以这种方式进行开发。

有人在 code plex 上提出了这个问题,所以希望我们能尽快解决:https://nuget.codeplex.com/workitem/4372

更新

截至 11 月 17 日,这似乎又开始起作用了。 NuGet 正确地告诉我它在获取旧版本的 Ninject.Web.Common.3.2.0.0 时遇到问题,但我们有更新版本,这很好。

【问题讨论】:

  • 我从今天开始就遇到了同样的问题。我已经尝试了所有其他修复,但没有任何效果。你解决了吗?
  • 抱歉,好像有一个 nuget 节点已关闭。我们设法从另一台开发人员机器上获取了我们的包的副本,并且正在关闭那些。您可以使用 fiddler 来识别哪些包丢失并手动下载这些包并将它们放入您的包文件夹中。
  • 我尝试在构建时禁用 nuget 恢复,但现在我收到一条错误消息,提示 nuget 包恢复已禁用并且构建将无法继续。在我们等待 nuget 解决它的问题时,有人知道如何解决这个问题吗?
  • @voidsstr 是您自己还是其他人在使用它?您是否有连续部署环境,最近可能进行了拉取操作,并且拥有 nuget 存储所有依赖项的包文件夹的副本?您是否将包检查到版本控制中?有可能从那里得到它。此外,我之前提到过从其他尚未清除包缓存的开发人员那里获取。
  • 看起来像 NuGet 方面的服务器中断,对我们来说不是一个真正可以回答的问题。

标签: visual-studio nuget nuget-server


【解决方案1】:

我在使用新 v3 API (https://api.nuget.org/v3/index.json) 的 Visual Studio 2015 的公司代理背后看到了这个问题。在我的例子中,它与一个 SSL 拦截公司代理(BlueCoat)有关,它不知道如何处理我相信的那个 API 端点正在协商的更新的密码协议(例如:TLS 1.2 加上一些更新的密钥交换密码)。

【讨论】:

  • @ryanwebjackson 我无法更改公司代理,如果我没记错的话必须使用解决方法
【解决方案2】:

在调用我的网络管理员之前,我遇到了同样的问题。我们发现我们的 IPS 将该域标记为恶意软件,并在内部网络级别阻止了它。

一旦我们删除了该块,现在一切都恢复正常了。

我们在从 codeplex 项目站点获取图像和 css 时也遇到了问题,这也解决了这个问题。

【讨论】:

  • 是的,这就是我最初的想法,但小提琴日志清楚地表明远程主机拒绝了我。如果是内部阻塞,我会遇到找不到主机或无法到达目的地相关问题。
  • 取决于设置的阻止类型。我的网络管理员基本上将域放入内部 DNS 黑洞。我弄清楚了问题出在哪里,因为 IP 地址位于私有 IP 范围之一(172.16.x.x)。
  • 真点。我已经向我们的网络管理员确认,这对我来说很幸运,这不是问题。 Up'd 因为这对人们来说是一个潜在的问题。
  • 有什么方法可以获取 nuget 日志。只是连接关闭消息并不能说明发生了什么。
【解决方案3】:

Visual Studio 2015 用户的快速解决方法是将 URL 从 https 更改为 http。我有一种感觉,如果包有 https 许可证文件,这可能不起作用。

或者,切换到 Visual Studio 2013 进行包安装和更新。

【讨论】:

  • 是的。从 https:// 切换到 http:// url,包流下来了。 (注意:这是在与内部“ProGet”nuget 服务器通信时。)
  • 我同意,谢谢分享。它现在就像一个魅力:)
【解决方案4】:

检查您的 Internet 连接是否正常,您的代理是否已在 Internet Explorer LAN 设置中设置和启用。就我而言,它试图从互联网下载它并失败,因为我的代理被禁用了!希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-02
    • 2015-11-22
    • 2015-07-05
    • 1970-01-01
    相关资源
    最近更新 更多