我在为玻利维亚的 dotnet core 2.0 项目恢复包时遇到问题。回到荷兰的家中,我恢复包裹没有问题,但在这里它坏了。
我收到很多错误,例如:
Failed to download package 'System.Linq.4.1.0' from
'https://api.nuget.org/v3-flatcontainer/system.linq/4.1.0/system.linq.4.1.0.nupkg'.
An error occurred while sending the request
Error: SecureChannelFailure (Unable to write data to the transport connection: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'..)
Unable to write data to the transport connection: Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'..
Cannot access a disposed object.
Object name: 'System.Net.Sockets.Socket'.
Unable to load package 'System.Linq'.
当我尝试 wget 这个文件时,我的速度在 400 KB/s 到 3 MB/s 之间。
我在想它是并行恢复包的 nuget,这会导致旅馆互联网被充分利用?我已经在不同的旅馆/咖啡馆尝试过,我遇到了同样的问题。当我远程桌面进入我在荷兰的家庭服务器并恢复同一个项目的包时,一切顺利。
我在这里有什么选择?我尝试用谷歌搜索这个问题一段时间,但我还没有找到解决方案。
谢谢!
约里克
最佳答案
我无法解决网络问题,但作为一种可能的解决方法,您可以减少 Visual Studio for Mac 下载的 NuGet 包的数量。这可以通过使用 NuGet 后备文件夹为 .NET Core 2.0 项目完成:
/usr/local/share/dotnet/sdk/NuGetFallbackFolder/
fallback 文件夹包含许多默认情况下由 .NET Core 2.0 使用的 NuGet 包。如果您安装 .NET Core SDK,则应创建此文件夹。
使用上述文件夹将阻止下载大量 NuGet 包。
您可以直接将其添加为 NuGet 包源,也可以编辑 ~/.config/NuGet/NuGet.Config 文件并添加备用文件夹,如下所示:
或者,您可以将显式后备文件夹添加到 ~/.config/NuGet/NuGet.Config 文件中:
<fallbackPackageFolders>
<add key="DotNetCore2FallbackFolder" value="/usr/local/share/dotnet/sdk/NuGetFallbackFolder" />
</fallbackPackageFolders>
需要重新启动 Visual Studio for Mac。还要检查该文件夹是否存在。
请注意,由于另一个错误,Visual Studio for Mac 在恢复 .NET Core 项目时仍会下载一些 NuGet 包。
关于visual-studio - 无法在具有慢速(玻利维亚)互联网的 Visual Studio for Mac 和 dotnet 核心中恢复 nuget 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46133414/