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

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

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


当前回答

新包管理器的开发人员在2019年建议禁用tls 1.3作为解决方案(见第7705期)。

通过按Win + R打开注册表编辑器,并键入regedit Enter

导航到:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client

将“DisabledByDefault key 0”的值修改为1

然后重新启动Visual Studio。

在维基百科上阅读更多关于TLS的信息 阅读更多关于问题7705 w.r.t. NuGet在github

第三方编辑

请注意,这将禁用操作系统的tls 1.3,而不仅仅是对nuget或dotnet。 Windows 10 1909版确实包含TLS 1.3的实验性实现,但后续版本应该没问题。基于无法浏览nuget包的一个答案,您可以通过控制台程序测试tls是否存在问题

static async Task Main(string[] args)
{
    var client = new HttpClient();
    string uri = "https://apiint.nugettest.org/v3-index/index.json";
    var response = await client.GetAsync(uri);
    string msg = "If you see this, your machine has no TLS/SSL issues with nuget.org";
    Console.WriteLine(msg);

}

其他回答

如果您是Windows用户,您可以在凭证管理器中删除或更新您的凭证。

Windows 10下,进入如下路径:

控制面板→所有控制面板项→证书管理器

或者在开始菜单的“搜索Windows”部分搜索“凭据管理器”。

然后在凭证管理器中,选择“Windows凭证”。

证书管理器将显示许多项,包括您的outlook和GitHub存储库下的“通用证书”

单击Git右侧的下拉箭头:它将显示编辑和删除选项。如果您删除,证书将在下次获取或拖动时弹出。或者你可以直接在那里编辑凭证。

nuget restore 

and

msbuild /t:restore

两者都没有为我工作,因为同样的错误。但

dotnet restore 

完美的工作。试试

如果你使用的是公司代理,并且在Mac上,只需确保你的http/https复选框被选中并应用。

设置您的PC ->网络和互联网代理->自动代理设置然后 set“自动检测设置”为“关闭”,并清除“脚本地址”

删除% AppData % \ \ NuGet \ NuGet徘徊。配置和重新启动VS2019对我来说很有效。

类似于https://github.com/NuGet/Home/issues/3281