在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
当前回答
这也可能由于身份验证问题而发生,因此您可能需要重新对Visual Studio进行身份验证。
在这种情况下,只需在包所在的文件夹中运行以下命令。配置文件的位置(通常是项目的根目录):
dotnet restore --interactive
系统将提示您从浏览器访问配对URL并输入配对代码,例如:
要登录,请使用网络浏览器打开页面https://microsoft.com/devicelogin,并输入代码C2DEJ87H到 身份验证。
这需要.NET CLI,它包含在.NET Core SDK中,可以从https://learn.microsoft.com/en-us/dotnet/core/install/windows安装
其他回答
在我的情况下,我必须在Visual studio Options->NugetPAckageManager->sources中添加源 然后重新启动visual studio命令提示符
我在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支持的信息
我删除了%localappdata%/Nuget中的所有内容,并清除了NuGets缓存。
dotnet nuget locals all --clear
重新启动后,Visual studio 2022恢复了我的包。
我必须在命令提示符中从.sln所在的文件夹中运行dotnet还原,这是成功的(而VS还原nuget包失败)。在此之后,我至少可以在Visual Studio下列出已安装的包,但“更新”仍然无法加载。
在Windows 7上测试
步骤1:打开命令窗口(运行cmd) 步骤2:如果TLS 1.2被禁用(添加注册表项),执行以下命令启用TLS 1.2支持:
"HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:32 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:64