首页 文章

dotnet恢复在VSTS上耗时太长

提问于
浏览
6

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

<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />

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

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

  • Microsoft.AspNetCore.All 包缓存在".NET Core runtime store"中,因此无需恢复它们 .

  • 当我恢复一次包时,它们不必在每个构建中再次恢复,因为它们被缓存 .

enter image description here

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

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

2 回答

  • 3

    来自Microsoft Docs on Hosted Agents

    功能和限制托管代理:作为服务运行 . 有上面的软件 . 您还可以使用我们的工具安装程序添加软件 . 提供10GB的存储空间 . 托管代理商不提供:交互模式 . 管理员权限 . 登录的能力 . 将工件丢弃到UNC文件共享的功能 . 运行XAML构建的能力 . 通过使用可能更快启动和处理构建的私有代理可能获得的潜在性能优势 . 了解更多信息如果我们的托管代理不能满足您的需求,那么您可以部署自己的私有代理 .

    无论长短,使用托管代理,你得到的就是你得到的 . 如果它对你来说不够快或者没有做你想做的其他事情(例如缓存NuGet包),那么你的办法就是创建自己的私有构建代理 .

  • 3

    NuGet包本身的下载速度非常快,实际上就是它的启动 .

    如果查看日志,任务花费大约1分钟(每个构建稍有不同),什么都不做 .

    从我最后一次记录,50秒无所事事:

    ...
    2018-02-04T09:51:47.1349027Z [command]d:\a\_tool\NuGet\4.3.0\x64\nuget.exe restore d:\a\1\s\MySolution.sln -Verbosity Detailed -NonInteractive -ConfigFile d:\a\1\Nuget\tempNuGet_84.config
    2018-02-04T09:52:37.2580691Z NuGet Version: 4.3.0.4406
    ...
    

相关问题