Visual Studio 尝试搜索NuGet包时无法创建SSL/TLS安全通道

xam8gpfp  于 2023-08-07  发布在  其他
关注(0)|答案(5)|浏览(235)

当我在Visual Studio中按下NuGet包上的“浏览”选项卡时,它会显示“发生错误”,并显示错误消息

[nuget.org] Unable to load the service index for source https://api.nuget.org/v3/index.json.
  An error occurred while sending the request.
  The request was aborted: Could not create SSL/TLS secure channel.

字符串
我已经使用Visual Studio和NuGet很长一段时间了,NuGet几天前就开始工作了。有人能弄清楚为什么会发生这种情况,我能做些什么来解决它?
Visual Studio 2017版本:15.9.17

vd2z7a6w

vd2z7a6w1#

NuGet有permanently removed support for TLS 1.0 and 1.1
Ensure your system uses TLS 1.2
运行以下命令以启用TLS 1.2支持(如果已禁用):

reg add "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

字符串

y3bcpkx1

y3bcpkx12#

我已经使用Visual Studio和NuGet很长一段时间了,NuGet几天前就开始工作了。有人能弄清楚为什么会发生这种情况,我能做些什么来解决它?
这个问题可能与网络、nuget缓存冲突甚至nuget代理有关。所以有很多因素会导致这个问题。经过我的研究,很多用户都面临着和你一样的问题。要解决这个问题,请遵循我的建议:

建议

1.清理nuget缓存以消除缓存干扰。
1.选择【可用包源】(工具-->选项-->Nuget包管理器-->包源),新增一个类似http://packages.nuget.org/v1/FeedService.svc/的源链接。此时,换一个服务点,检查网络是否干扰了前一个服务链路。
1.尝试将代理设置添加到Nuget.Config文件中。有关详细信息,请参阅此链接:核心配置部分& Nuget Proxy Settings
更多信息可以参考this

**另外,**如果VS 2019不是最新版本,请更新到最新版本。

如果您的问题仍然存在,请随时让我们知道。

8ulbf1ek

8ulbf1ek3#

我有同样的问题,我的解决方案是“下载并添加证书到Windows证书管理器”

  1. Certmgr.msc
    1.在本地计算机中导入证书->受信任的根证书颁发机构
    1.重启
p1iqtdky

p1iqtdky4#

我使用TLS1.2,但缺少兼容的密码套件。您可以通过以下方式测试TLS和nuget使用的密码:https://www.ssllabs.com/ssltest/analyze.html?d=api.nuget.org,您可以通过以下方式测试您在主机上安装了哪些密码(但不一定启用):Get-TlsCipherSuite或Get-ItemPropertyValue -Path HKLM:\SYSTEM\CurrentControlSet\Control\Cryptography\Configuration\Local\SSL\00010002 -Name函数

osh3o9ms

osh3o9ms5#

对我有用的是
将下面的代码片段保存到reg文件并运行它

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

字符串

相关问题