![由于证书链中的错误,NuGet `dotnet Restore` 无法在 Ubuntu 20.04 (Linux Mint 21) 上运行](https://linux22.com/image/15759/%E7%94%B1%E4%BA%8E%E8%AF%81%E4%B9%A6%E9%93%BE%E4%B8%AD%E7%9A%84%E9%94%99%E8%AF%AF%EF%BC%8CNuGet%20%60dotnet%20Restore%60%20%E6%97%A0%E6%B3%95%E5%9C%A8%20Ubuntu%2020.04%20(Linux%20Mint%2021)%20%E4%B8%8A%E8%BF%90%E8%A1%8C.png)
当我尝试使用以下命令创建一个简单的单元测试项目时(在名为 的项目文件夹内test
):
dotnet new xunit
它失败了,这是我得到的输出:
/usr/share/dotnet/sdk/5.0.301/NuGet.targets(131,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json. [/home/user/Desktop/test/test.csproj]
/usr/share/dotnet/sdk/5.0.301/NuGet.targets(131,5): error : The SSL connection could not be established, see inner exception. [/home/user/Desktop/test/test.csproj]
/usr/share/dotnet/sdk/5.0.301/NuGet.targets(131,5): error : The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot [/home/user/Desktop/test/test.csproj]
它还告诉我使用手动恢复 NuGet 包dotnet restore
它会产生与以前相同的错误消息。因此,我做了一些研究,看看这是什么意思以及如何解决它,并且有一个官方文章微软正在解决这个问题。在文章中,他们提到了如何在我之前发布的 SDK 版本中修复该问题,因此考虑到我有较新的版本,情况应该仍然如此。但以防万一,我还安装了以前的版本以及 .NET 3.1 版本的 SDK 和运行时,但收到了与以前相同的错误消息。
做了一些进一步的研究,我看到人们建议我更新ca-certificates
我使用的内容:
update-ca-certificates (--fresh)
这又没有帮助。但有一个讨论关于此问题以及如何在 Debian 上解决它。所以我想知道同样的修复可以在 Ubuntu 上使用吗?如何更新软件包以使用最新版本?
这就是我到目前为止所尝试过的,但没有一个奏效。