在 .net Rider IDE 中恢复解决方案的 nuget 包:无法下载包 `x` 对 GET `x` 的 HTTP 请求在 100000 毫秒后超时
Posted
技术标签:
【中文标题】在 .net Rider IDE 中恢复解决方案的 nuget 包:无法下载包 `x` 对 GET `x` 的 HTTP 请求在 100000 毫秒后超时【英文标题】:Restoring nuget packages of a solution in .net Rider IDE: Failed to download package `x` The HTTP request to GET `x` has timedout after 100000ms 【发布时间】:2018-02-11 12:43:24 【问题描述】:我有ArchLinux
发行版,我第一次在Linux
上测试.Net SDK
。我安装了JetBrains Rider IDE
的试用版。我创建了新的 ASP.Net Core
项目,但在构建解决方案或手动恢复解决方案的 Nuget 包时,我在 Event Log
窗口中收到此错误消息:
下午 1:51 无法恢复集成项目中的 NuGet 包 无法从远程源检索有关“Microsoft.AspNetCore.WebUtilities”的信息 'https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.webutilities/index.json'。 设置日志包文件夹
下午 1:51 恢复失败 无法从远程源检索有关“Microsoft.AspNetCore.WebUtilities”的信息 'https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.webutilities/index.json'。 设置日志包文件夹
这是Log
窗口内容,因为内容很大,所以我把它上传到谷歌驱动器:Here
以前有人遇到过这个问题吗?另外,为什么骑手试图获取地球上的所有 Nuget 包?我没有对Microsoft.Win32.Registry
的引用,并且这些错误行之一抱怨:
COREMINIMAL:下载包失败 'Microsoft.Win32.Registry.4.4.0'
编辑 1
之后,尝试dotnet restore
我得到以下输出:
$ dotnet restore
Permission denied to modify the '/opt/dotnet/sdk/NuGetFallbackFolder' folder.
Here are some options to fix this error:
---------------------
1. Re-run this command with elevated access.
2. Disabled the first run experience by setting the environment variable DOTNET_SKIP_FIRST_TIME_EXPERIENCE to true.
3. Copy the .NET Core SDK to a non-protected location and use it from there.
Restoring packages for /home/m/Prog Projects Mid 2018/CSharp/testingRider/WebApplication1/WebApplication1/WebApplication1.csproj...
Failed to download package 'Microsoft.Win32.Registry.4.4.0' from 'https://api.nuget.org/v3-flatcontainer/microsoft.win32.registry/4.4.0/microsoft.win32.registry.4.4.0.nupkg'.
The download of 'https://api.nuget.org/v3-flatcontainer/microsoft.win32.registry/4.4.0/microsoft.win32.registry.4.4.0.nupkg' timed out because no data was received for 60000ms.
Exception of type 'System.TimeoutException' was thrown.
Retrying 'FindPackagesByIdAsync' for source 'https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.webutilities/index.json'.
An error occurred while sending the request.
SSL connect error
Retrying 'FindPackagesByIdAsync' for source 'https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.mvc.viewfeatures/index.json'.
An error occurred while sending the request.
输出也很长,大部分是关于retrying
下载包。
【问题讨论】:
我尝试明确下载其中一个包,骑手抱怨,手动形成浏览器并成功 对不起,我在家里运行它。 您是否可以在项目文件夹的终端中使用dotnet restore
恢复包? (见docs.microsoft.com/en-us/dotnet/core/tools/…)
您是否尝试过缓解工具输出建议的问题的步骤?您还可以根据我之前评论中附加的链接调整输出详细程度。
无论如何,这看起来更像是您和 NuGet 服务器之间的网络问题,与仅集成 dotnet sdk 的 Rider 无关。
【参考方案1】:
根据附加的 Rider 和dotnet
日志,这个问题与 Rider IDE 无关。
dotnet
的某些首次体验功能似乎需要访问 dotnet/sdk/NuGetFallbackFolder
,但未提供此权限,因此您会在日志中看到错误,但这可能不是真正的根本情况。
根据日志消息The download of 'https://api.nuget.org/v3-flatcontainer/microsoft.win32.registry/4.4.0/microsoft.win32.registry.4.4.0.nupkg' timed out because no data was received for 60000ms.
,问题出在您的计算机和 NuGet 服务器之间的网络中
您应该检查您的网络和 dotnet/NuGet 设置。
【讨论】:
问题是我的网络连接不是很稳定,可以说是随机稳定的。有时一个包会在 500-700 毫秒的时间范围内被下载,有时更多。真正的问题是dotnet
使用parallel
来加速包下载所以同时下载了多个包,解决方案只是禁用并行dotnet restore --disable-parallel
所以只有一个文件同时下载,没有文件将需要超过 10 秒的限制,现在一切正常。
嗨,我也面临同样的问题。我正在使用 nuget.exe restore 来恢复包。但同样的错误只出现在一个包中,当我尝试从不同网络的构建机器恢复它时(我能够从该机器浏览那个工件 URL)。在同一网络的构建机器上,这个包正在恢复。你能就此提出建议吗? - 我尝试禁用并行进程。但同样的错误没有运气。
好吧,一般规则适用 - 您的 nuget 无法访问 nuget 服务器。您是否需要任何网络配置才能进入其他网络?代理?防火墙?
@ZdeněkJelínek,除了一个,所有其他包都在恢复。并且还能够浏览链接。我们还可以考虑代理和防火墙(网络问题)吗?
@ZdeněkJelínek,请查看此主题以获取更多信息-***.com/questions/61248102/…以上是关于在 .net Rider IDE 中恢复解决方案的 nuget 包:无法下载包 `x` 对 GET `x` 的 HTTP 请求在 100000 毫秒后超时的主要内容,如果未能解决你的问题,请参考以下文章
在 Manjaro 上为 Rider IDE 安装 .NET core 2.0.0
Rider IDE 无法在 iPhone 设备上运行项目 Xamarin.iOS