在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:

无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败

我可以在浏览器上访问https://api.nuget.org/v3/index.json。


当前回答

好吧,我尝试了上面所有的答案,希望我的注册表现在不是软管。但这似乎解决了我的问题:

https://learn.microsoft.com/en-us/answers/questions/959588/visual-studio-2022-won39t-connect-to-nuget.html

添加这个:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384

到this中逗号分隔的字符串:

微软HKLM \ SOFTWARE \政策\ \ SSL加密\ Configuration \ \ 00010002

我希望这能帮助下一个希望在周六早上快速进行有趣的概念验证,然后花3个小时寻找解决方案的人!!

其他回答

值得注意的是,.net核心SSL身份验证存在一个可能导致这种情况的错误。禁用他们最新的网络堆栈实现,为我解决了这个问题。

你可以永久地设置它,或者使用以下命令启动你的应用程序:

DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...

我在VS2010上使用的是旧版本的Nuget,默认为TLS 1.0 这里可以通过更改.Net框架使用的默认TLS版本来修复,该版本在注册表项中配置

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

FYI

6月15日,NuGet.org将永久移除对TLS 1.0和1.1的支持。请确保您的系统使用TLS 1.2。

您可以参考此链接了解TLS 1.2支持的信息

该错误可能是由临时网络问题引起的,如果重试,该错误将消失。

在我的情况下,发生这种情况是因为我没有互联网连接,它正在试图搭建

我有一个类似的问题,试图连接到我的私人TFS服务器,而不是公共NuGet API服务器。由于某种原因,我在AD服务器和TFS服务器之间出现了问题,因此它总是返回401。NuGet配置文章展示了你可以像这样将你的AD用户名和密码添加到配置文件中:

  <packageSourceCredentials>
      <vstsfeed>
          <add key="Username" value="yourname@company.com" />
          <add key="Password" value="this is an encrypted password" >
          <!-- add key="ClearTextPassword" value="not recommended password" -->
      </vstsfeed>
  </packageSourceCredentials>

这不是一个非常理想的解决方案,更像是一个临时的解决方案,直到我可以找出AD服务器的问题,但这应该可以解决问题。