由于 api.nuget.org/v3/index.json,Dotnet 恢复失败

Dotnet restore fails due to api.nuget.org/v3/index.json

我有一个 .NET Core 2.1 应用程序,不能 运行 dotnet restore 了。
我收到此错误:

Restoring packages for D:\Work-2\Anubis\Core\AnubisServer.Server\AnubisServer.
Server.csproj... Restore completed in 22.22 ms for D:\Work-2\Anubis\Core\COM\SharedCOM\SharedCO
M.csproj. Restore completed in 26.09 ms for D:\Work-2\Anubis\Core\AnubisServer.Shared\An
ubisServer.Shared.csproj. Restore completed in 26.07 ms for D:\Work-2\Anubis\Core\Server\Extensions\Exte
nsions.csproj. Restore completed in 26.12 ms for D:\Work-2\Anubis\Core\AnubisServer.Client\An
ubisServer.Client.csproj. C:\Program Files\dotnet\sdk.0.100-preview-009812\NuGet.targets(114,5): error : Unable to load the service index for source https://api.nuget.org/v3/index.json
. [D:\Work-2\Anubis\Core\AnubisServer.Server\AnubisServer.Server.csproj] C:\Program Files\dotnet\sdk.0.100-preview-009812\NuGet.targets(114,5): error : The SSL connection could not be established, see inner exception. [D:\Work-2\
Anubis\Core\AnubisServer.Server\AnubisServer.Server.csproj] C:\Program Files\dotnet\sdk.0.100-preview-009812\NuGet.targets(114,5): error : Unable to read data from the transport connection: A connection attempt faile
d because the connected party did not properly respond after a period of time, o
r established connection failed because connected host has failed to respond.. [
D:\Work-2\Anubis\Core\AnubisServer.Server\AnubisServer.Server.csproj] C:\Program Files\dotnet\sdk.0.100-preview-009812\NuGet.targets(114,5): error : A connection attempt failed because the connected party did not properly resp
ond after a period of time, or established connection failed because connected h
ost has failed to respond. [D:\Work-2\Anubis\Core\AnubisServer.Server\AnubisServ
er.Server.csproj]

如您所见,一切都在 api.nuget.org/v3/index.json 左右解决,但我不知道哪里出了问题。

我查看了之前的 answers 并尝试了:

-从 C:/Users:/[用户名]/Nuget
中删除 Nuget 文件夹 - 查看 C:\Users\[user]\AppData\Roaming\NuGet.config 文件并查看所有网址是否正常

Nuget.config

   <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <packageSources>
        <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
      </packageSources>
    </configuration>

令我好奇的是,在 today.I 没有进行任何系统更改之前,它一直运行良好。

如果您查看错误消息,您会看到:

error : Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

因此,如您所见,NuGet 在尝试与 nuget.org 通信时遇到网络问题。您可以尝试打开网络浏览器,看看是否可以在那里打开 https://api.nuget.org/v3/index.json。但仅仅因为它在您的浏览器中工作并不意味着它会自动从 nuget.exe、devenv.exe (visual studio)、dotnet.exe 等开始工作。

发生这种情况的原因有很多,我不可能一一列举,但如果您使用的是工作计算机,也许您的 IT 部门已阻止传出 Web 访问并使用组策略强制执行您的网络浏览器使用代理。也许他们将您计算机的防火墙配置为禁止所有程序使用网络,白名单中的程序除外(Web 浏览器、邮件客户端、公司应用程序)。

或者可能只是暂时的或局部的网络问题。 nuget.org 在 CDN 后面,如果离您最近的 CDN 节点有问题。

对于想要联系 NuGet.org 了解网站宕机的人,CDN 提供商需要 their FAQ asks you to use MTR to get network information 来诊断这些问题。我想指出的是,MTR 是一种有用的工具,可以帮助您诊断网站维护人员无法自行监控的网络问题。