【问题标题】:Visual studio 22 slow Build time with .net core 6Visual Studio 22 使用 .net core 6 构建速度慢
【发布时间】:2022-10-31 04:28:38
【问题描述】:

从 .net core 2.1 迁移到 .net core 6.0 后,构建时间变慢,大约需要 1:30(1 分 30 秒)。通过使用 MSBuild 日志查看器 (https://msbuildlog.com/),结果是最昂贵的任务是 CoreCompile,它需要 (1:22) 从 (1:30) (可以看到下面的构建日志图像)。

并且在输出窗口中可以看到构建卡在

C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\Roslyn\csc.exe

在确定最昂贵的任务之后,减少构建时间的下一步是什么? 任何帮助将非常感激。

重要通知(在 .net core 2.1 版本中使用相同 MSBuild 的同一项目的构建时间为(仅 16 秒)但在迁移到 .net core 6.0 后项目构建时间为(1:30))

【问题讨论】:

  • “确定问题后”- Roslyn\csc.exe 看起来像编译器本身,所以我不会说你已经确定了这个问题。
  • @GuruStron 在 .net core 2.1 版本中使用相同 MSBuild 和编译器的同一项目的构建时间是(仅 16 秒),但在迁移到 .net core 6.0 后,项目构建时间是(1:30)
  • 我建议创建一个minimal reproducible example 并为roslyn 团队创建一个错误。
  • 我的意思是如果它的编译器问题,那么为什么在(.net core 2.1 版本)中构建相同的项目时,构建时间是正常的(16 秒),尽管两个版本都使用相同的编译器。
  • 你能安装 ProcMon,为csc.exe 设置过滤器并再次编译吗?

标签: c# asp.net visual-studio msbuild asp.net-core-6.0


【解决方案1】:

在我的experience 中,很多时候编译时间慢是由一些慢速分析器引起的(即使是 MS 提供的也可能很慢)。

您可以通过使用/p:ReportAnalyzer=true MSBuild 属性运行构建,同时记录(通过/bl 标志)和viewing 生成的二进制日志,获得有关各种分析器如何影响构建时间的详细诊断信息。

【讨论】:

    猜你喜欢
    • 2012-08-19
    • 2022-10-25
    • 2021-01-09
    • 1970-01-01
    • 2023-03-08
    • 2012-03-24
    • 2018-04-25
    • 2011-04-08
    • 2017-08-08
    相关资源
    最近更新 更多