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

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

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


当前回答

转到%appdata%\NuGet\NuGet.config 修改这一行: < packageSources > <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft sdk \NuGetPackages\" /> . <add key="Package source" value="https://api.nuget.org/v3/index.json" /> . < / packageSources >

其他回答

我使用VSO/Azure DevOps。

您也可以直接在浏览器中访问提要url。你最终可能会得到这样的回复,这可能会让你的诊断更快:

用户没有使用ms.feed扩展名的许可证。

在我的情况下,我失去了与Git的连接。我只是再次添加连接,它工作!:

当我试图通过Jenkins(配置为服务,默认使用本地系统帐户)运行nuget.exe时,我偶然发现了这个问题。我已经编辑了C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet。配置文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <config>
        <add key="http_proxy" value="http://proxy_hostname_or_ip:3128" />
        <add key="https_proxy" value="http://proxy_hostname_or_ip:3128" />
    </config>

  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>

</configuration> 

为了测试命令提示符,可以通过PSTools启动:

psexec -i -s CMD

和实际测试运行在新创建的cmd窗口(运行为本地系统):

path_to_nuget\nuget.exe restore "path_to_solution\theSolution.sln"

禁用防病毒应用程序。 以我为例,AVG阻止我访问nuget.org

我有一个类似的问题,试图连接到我的私人TFS服务器,而不是公共NuGet API服务器。由于某种原因,我在AD服务器和TFS服务器之间出现了问题,因此它总是返回401。NuGet配置文章展示了你可以像这样将你的AD用户名和密码添加到配置文件中:

  <packageSourceCredentials>
      <vstsfeed>
          <add key="Username" value="yourname@company.com" />
          <add key="Password" value="this is an encrypted password" >
          <!-- add key="ClearTextPassword" value="not recommended password" -->
      </vstsfeed>
  </packageSourceCredentials>

这不是一个非常理想的解决方案,更像是一个临时的解决方案,直到我可以找出AD服务器的问题,但这应该可以解决问题。