dotnet恢复在VSTS上耗时太长

Lie*_*ero 7 nuget .net-core azure-devops asp.net-core azure-pipelines

我有asp.net core 2.0 app,它引用了Microsoft.AspNetCore.All元数据包

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />
Run Code Online (Sandbox Code Playgroud)

我在VSTS中进行了以下构建,我使用托管构建代理构建.

为什么恢复包裹总是需要95分钟?我以为

  1. Microsoft.AspNetCore.All 包缓存在".NET Core运行时存储"中,因此不必还原它们.
  2. 当我恢复一次包时,它们不必在每个构建中再次恢复,因为它们被缓存.

在此输入图像描述

为什么dotnet在VSTS中恢复得如此之慢?

编辑:投票支持更好的VSTS构建性能:https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/32044321-improve-hosted-build-agent-performance

小智 5

尝试使用解决方案文件而不是**/*.csproj. 对我来说,恢复**/*.csproj大约需要 2 分钟,而恢复解决方案文件只需要10 秒


Chr*_*att 3

来自托管代理的 Microsoft 文档:

能力和限制

托管代理:

  • 作为服务运行。
  • 有以上软件。您还可以使用我们的工具安装程序添加软件。
  • 提供10GB存储空间。

托管代理不提供:

  • 交互模式。
  • 管理员权限。
  • 登录的能力。
  • 能够将工件放入 UNC 文件共享。
  • 运行 XAML 构建的能力。
  • 通过使用私有代理可能会获得潜在的性能优势,这些代理可能会更快地启动和处理构建。了解更多

如果我们的托管代理不能满足您的需求,那么您可以部署自己的私人代理

总而言之,使用托管代理,您得到的就是您得到的。如果它对您来说不够快或者没有执行您想要的其他操作(例如缓存 NuGet 包),那么您可以选择创建自己的私有构建代理。

  • 如果托管代理不够快,请在这里投票:) https://visualstudio.uservoice.com/forums/330519-visual-studio-team-services/suggestions/32044321-improve-hosted-build-agent-performance 没有这也是托管代理的性能无法升级的原因。 (3认同)