MSBUILD - 优化ResolveProjectReferences目标

时间:2015-04-14 19:38:59

标签: c# .net performance compilation msbuild

我们有300多个项目的大型解决方案。

构建过程需要很长时间。我们已经研究了项目数量的组合,但管理层不愿意为此分配足够的时间。

我尝试了以下内容:

  • 将copy local设置为false
  • 使用公共bin文件夹作为解决方案

然而,构建仍需要5分钟以上,即使只有一个小项目的变化很小。请注意,增量构建过程工作正常,只有已更改的项目才会构建。

在查看诊断时,似乎大部分时间都花在ResolveProjectReferences目标上。该目标似乎在​​调用<MSBuild>任务。该特定呼叫似乎每次需要500毫秒。考虑到大部分时间都没有建成,这对我来说听起来很高!即它只是检查装配的修改日期,并得出结论,不需要建造任何东西。

这个过程对我来说似乎效率很低。有什么我能做的吗?例如,我可以创建一个临时文件来跟踪自上次构建以来已更改的所有项目,并覆盖ResolveProjectReferences目标以使用它吗?还有什么吗?

注意:

  • 我是从命令行构建的。
  • 我使用/ m开关
  • 我只向控制台输出构建错误

如果您有任何疑问,请与我们联系。

0 个答案:

没有答案