在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
在尝试连接到Nuget时,我得到了下面的错误,然后我无法连接:
无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,原因是被连接方在一段时间后没有正确响应,或已建立连接 由于连接的主机未能响应68.232.34.200:443而失败
我可以在浏览器上访问https://api.nuget.org/v3/index.json。
当前回答
当我试图通过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"
其他回答
该错误可能是由临时网络问题引起的,如果重试,该错误将消失。
值得注意的是,.net核心SSL身份验证存在一个可能导致这种情况的错误。禁用他们最新的网络堆栈实现,为我解决了这个问题。
你可以永久地设置它,或者使用以下命令启动你的应用程序:
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...
好吧,我尝试了上面所有的答案,希望我的注册表现在不是软管。但这似乎解决了我的问题:
https://learn.microsoft.com/en-us/answers/questions/959588/visual-studio-2022-won39t-connect-to-nuget.html
添加这个:TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
到this中逗号分隔的字符串:
微软HKLM \ SOFTWARE \政策\ \ SSL加密\ Configuration \ \ 00010002
我希望这能帮助下一个希望在周六早上快速进行有趣的概念验证,然后花3个小时寻找解决方案的人!!
我有一个类似的问题,试图连接到我的私人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服务器的问题,但这应该可以解决问题。
有些东西可能改变了你的代理设置,比如Fiddler。关闭Fiddler,然后关闭Visual Studio并再次打开它。