尝试连接到Nuget时,收到以下错误,然后我无法连接:
[nuget.org]无法加载源的服务索引 https://api.nuget.org/v3/index.json。 发送请求时发生错误。 无法连接到远程服务器 连接尝试失败,因为连接方在一段时间或建立的连接后没有正确响应 失败,因为已连接的主机无法响应68.232.34.200:443
我可以在浏览器上访问https://api.nuget.org/v3/index.json
。
这不是重复的。其他答案并没有解决我的问题。
答案 0 :(得分:10)
您需要将代理设置添加到Nuget.Config文件中。有关详细信息,请参阅此链接:Nuget Config Section& Nuget Proxy Settings
答案 1 :(得分:9)
通过按 Win + R 打开注册表编辑器,然后键入postgresql.JSON()
Enter
导航至:
regedit
将\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client
键0的值更改为1
然后重新启动Visual Studio。
答案 2 :(得分:5)
删除%AppData%\ NuGet \ NuGet.Config并重新启动VS2019对我有用。
答案 3 :(得分:3)
转到
设置(PC的全局设置)>网络和互联网>代理>自动代理设置>并将自动检测设置设置为关闭。
答案 4 :(得分:3)
当尝试通过Jenkins(默认配置为服务,默认使用本地系统帐户)运行nuget.exe时,我偶然发现了此问题。我已经编辑了C:\Windows\System32\config\systemprofile\AppData\Roaming\NuGet\NuGet.Config
文件,如下所示:
<?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"
答案 5 :(得分:2)
如果看到以下错误,则可能需要设置Azure Artifacts凭据,请参见此Github link,可以通过运行Powershell脚本或手动安装凭据提供程序。
error : Response status code does not indicate success: 401 (Unauthorized).
答案 6 :(得分:2)
尝试浏览NuGet软件包时遇到相同的错误,请按照以下步骤进行操作
1-转到%appdata%\NuGet\NuGet.config
2-验证该配置中提到的网址
3-删除不需要的网址
4-重新启动Visual Studio并检查
答案 7 :(得分:1)
您的 nuget 来源之一可能无法访问。
在撰写本文时,AspNetCore (https://dotnet.myget.org/F/aspnetcore-dev/api/v3/index.json) 的证书似乎已过期或已被完全删除。
只需从您的设置中删除 nuget 源即可解决此问题
答案 8 :(得分:1)
我在 Visual Studio 2015 上尝试执行 Install-Package Modernizr 时遇到了类似的问题。我按照以下步骤解决了我的问题:
Install-Package Modernizr
。我希望同样的解决方案在安装其他软件包时也能奏效。
答案 9 :(得分:1)
就我而言,问题是我在基于 Win7 的旧虚拟机上构建。
我从 https://github.com/NuGet/NuGetGallery/issues/8176#issuecomment-683923724 找到了这个修复:
<块引用>nuget.org 开始强制使用 TLS 1.2(并放弃支持
TLS 1.1 和 1.0)今年早些时候。 Windows 7 禁用了 TLS 1.2
默认情况下(检查下的 DisabledByDefault
值
HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client
在您的注册表中)。要启用支持,请确保您安装了更新 (*) 并打开支持:
reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:32
reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v Enabled /t REG_DWORD /d 1 /f /reg:64
所指的 (*) 更新是 Microsoft kb3140245: Update for Windows 7 (KB3140245)
我安装了更新,重新启动(按照更新的要求),添加了那些注册表项,然后 Nuget 工作正常。
答案 10 :(得分:1)
在将Identity脚手架安装到ASP.NET Core MVC项目时,我遇到了相同的错误消息。由于我的连接不在代理后面,因此删除/编辑代理配置没有任何意义。而且我也不想删除文件或卸载PMC。环顾四周时,我在工具->选项-> NuGet软件包管理器->常规上实现了“清除所有Nuget缓存”按钮。按下按钮后,我必须等待一段时间才能完成操作。在那之后,我尝试再次架起身份,但是它没有用。然后我决定重新启动VS和voila:)
答案 11 :(得分:1)
我在VS2010上使用了较旧的Nuget版本,默认情况下为TLS 1.0 在这里,可以通过更改在注册表项中配置的.Net框架使用的默认TLS版本进行修复
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:64
reg add HKLM\SOFTWARE\Microsoft\.NETFramework\v4.0.30319 /v SystemDefaultTlsVersions /t REG_DWORD /d 1 /f /reg:32
仅供参考
NuGet.org将在6月15日永久删除对TLS 1.0和1.1的支持。请确保您的系统使用TLS 1.2。
您可以参考此link以获得有关TLS 1.2支持的信息
答案 12 :(得分:1)
尝试连接到私有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服务器的问题所在,但这应该可以解决。
答案 13 :(得分:1)
值得注意的是,.net核心SSL身份验证存在一个错误,可能会导致此错误。禁用他们最新的网络堆栈实现,为我解决了这个问题。
您可以永久设置此项,也可以使用以下方法启动应用程序:
DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 dotnet ...
答案 14 :(得分:1)
错误可能只是暂时的网络问题引起,如果再试一次就会消失。
答案 15 :(得分:1)
为了支持@Eddie Chen(here)提供的答案,我还必须将http_proxy设置添加到以下文件中:
C:\的Windows \ system32 \设置\ systemprofile \应用程序数据\漫游\的NuGet \ NuGet.Config
<add key="http_proxy" value="http://your_proxy_url:8080" />
答案 16 :(得分:1)
我正在使用VSO / Azure DevOps。
您也可以直接在浏览器中访问提要URL。您可能最终会收到包含如下消息的响应,这可能会使您的诊断更快:
The user does not have a license for the extension ms.feed.
答案 17 :(得分:1)
有些东西可能会改变你的代理设置,比如Fiddler。关闭Fiddler,然后关闭Visual Studio并再次打开它。
答案 18 :(得分:1)
在RUN dotnet restore
中使用Dockerfile
命令在docker-compose up
中运行Windows 10
时遇到了同样的错误。
我尝试了Internet上提供的所有可能的解决方案,并一直关注this open issue。最终,花了8个多小时之后,按照上述步骤操作,我得以解决问题。
Docker
从此link安装Docker
。以下是我的Docker的版本
重新启动系统
启动Windows的Docker,在Windows的搜索栏中搜索Docker
。确保它正在运行。
您还应该转到Services.msc
并确保服务Docker Engine
和Docker for Windows Service
正在运行。
最后,您必须从C:\Users\{Username}\AppData\Roaming\NuGet
检查您的Nuget.config文件。对我来说,该文件的内容如下。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
<packageRestore>
<add key="enabled" value="True" />
<add key="automatic" value="True" />
</packageRestore>
<bindingRedirects>
<add key="skip" value="False" />
</bindingRedirects>
<packageManagement>
<add key="format" value="0" />
<add key="disabled" value="False" />
</packageManagement>
</configuration>
希望这会有所帮助。
答案 19 :(得分:0)
安装提琴手导致了我类似的问题。卸载小提琴手并从machine.config(从Framework和Framework64)中删除小提琴手代理即可解决此问题。
答案 20 :(得分:0)
某些开发环境可能既不使用浏览器也不使用代理。
一种解决方案是将软件包从https://dotnet.myget.org/F/dotnet-core/api/v3/index.json
等块下载到共享目录,然后执行以下命令:
dotnet add package Microsoft.AspNetCore.StaticFiles -s "shared drive:\index.json"
我希望这对你有用。
答案 21 :(得分:0)
在 Windows 7 上测试
第一步:打开命令窗口(运行cmd) 第 2 步:运行以下命令以启用 TLS 1.2 支持(如果已禁用)(添加 REGISTRY 条目):
"HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:32 reg 添加“HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client” /v DisabledByDefault /t REG_DWORD /d 0 /f /reg:64 reg 添加“HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client” /v 启用 /t REG_DWORD /d 1 /f /reg:32 reg add "HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client" /v 启用 /t REG_DWORD /d 1 /f /reg:64
答案 22 :(得分:0)
我在尝试在本地托管的 Gitlab 实例中设置 NuGet 包时遇到此错误。错误指示 401 未经授权的代码。解决方案是删除有问题的来源:
nuget source Remove -Name SOURCE_NAME
然后添加相同的源,但这次在命令中指定用户名和密码:
nuget source Add -Name SOURCE_NAME -Source SOURCE_URL -UserName GITLAB_DEPLOY_TOKEN_USERNAME -Password GITLAB_DEPLOY_TOKEN
答案 23 :(得分:0)
转到%appdata%\NuGet\NuGet.config
修改这一行:
<packageSources>
<add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
<add key="Package source" value="https://api.nuget.org/v3/index.json" />
</packageSources>
答案 24 :(得分:0)
我无法解决源问题,但是使用此命令,我能够安装nuget软件包。
您需要直接将nuget.org指定为源。
Update-Package -reinstall -Source nuget.org
(使用程序包管理器控制台)
答案 25 :(得分:0)
nuget restore
和
msbuild /t:restore
都没有出现同样的错误,对我不起作用。但是
dotnet restore
做得完美。试试吧
答案 26 :(得分:0)
转到->工具->扩展和更新并卸载NuGet程序包管理器。.重新启动Visual Studio并重新安装它。...一切都会设置为正常
答案 27 :(得分:0)
在我的情况下,我运行了Fiddler,这更改了我的代理设置
答案 28 :(得分:0)
我必须在Visual Studio的Options-> NugetPAckageManager-> sources中添加源 然后重新启动Visual Studio命令提示符
答案 29 :(得分:0)
设置PC->网络和Internet代理->然后是自动代理设置 将自动检测设置设置为关闭并清除脚本地址
答案 30 :(得分:0)
如果您在公司代理后面并且在Mac上,只需确保选中并应用了http / https复选框即可。
答案 31 :(得分:0)
答案 32 :(得分:0)
答案 33 :(得分:0)
如果使用Visual Studio 2019,如果您未在devenv.exe.config中使用任何默认代理,则只需删除“ defaultproxy”部分。在VS 2017中,此部分不存在
更改
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/>
</defaultProxy>
到
<!--<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy bypassonlocal="True" proxyaddress="http://<yourproxy:port#>"/>
</defaultProxy>-->
否则,请提供适当的代理用户名和密码。
答案 34 :(得分:0)
确保docker在本地计算机上运行。 build命令可以运行,但需要运行的docker才能获取网络数据。
我认为这会有所帮助。
答案 35 :(得分:0)
就我而言,我只是重新启动了docker并开始工作。
答案 36 :(得分:0)
在我的情况下,发生这种情况是因为我没有互联网连接,并且它正在尝试脚手架
答案 37 :(得分:0)
也许this可以帮助
对我来说,删除C:\ Users \ YourName中的.nuget文件夹,这里已解决了该问题。
答案 38 :(得分:0)
如果遇到此错误,但没有代理服务器,则可以转到
C:\Users\Marlon_007\AppData\Roaming\NuGet\NuGet.Config
并注释以下行:
<config>
<!-- Proxy settings -->
<add key="http_proxy" value="host" />
<add key="http_proxy.user" value="username" />
<add key="http_proxy.password" value="encrypted_password" />
</config>
它对我有用,因为我遇到了这个错误,但是我没有代理服务器。
答案 39 :(得分:-1)
我已通过以下步骤解决了该问题
单击运行搜索此%APPDATA%\ NuGet \ NuGet.config。
打开设置并在NuGet.config中添加此http_proxy键。
然后,您将可以在应用程序中安装BouncyCastle.Crypto.dll。
谢谢!如果您有帮助,欢迎您答复。
答案 40 :(得分:-1)
我遇到此错误,然后我意识到我是使用个人Microsoft帐户而不是工作帐户登录的。
希望这会有所帮助。