TFS构建服务器比本地机器需要更多的时间来构建

时间:2012-01-05 08:55:32

标签: msbuild tfs2010

我正在使用由多种解决方案构建的应用程序。

当我在本地计算机上构建所有这些程序时,大约需要6分钟。 但是当在TFS构建服务器上构建它时 - 这是一个运行Windows Server 2003 R2的虚拟机,使用TFS代理2010,它最多需要40分钟。

我正在使用非增量构建(并且意识到它需要更多时间......),并且get-source部分只需要大约2分钟。

我无法理解为什么与本地版本相比可能需要这么长时间。在我的本地计算机上构建大约1.5分钟的解决方案在该服务器上大约需要9分钟。

任何想法/提示/建议为什么会发生这种情况/如何解决这个问题?

更新

我尝试使用并行构建(使用/ m:4),但它失败了,我可能在依赖项或某些东西上有一些定义的错误(我稍后会检查它......)。

VM构建服务器是四核4G RAM。

我已经在该服务器上直接使用了MSBuild,并且当代理运行完整版本时需要7.5-9.5分钟的解决方案只需2.5分钟。 TFS构建代理有什么可以解释这个吗? (我真的无法理解这一点......)

非常感谢,年轻的程序员。

2 个答案:

答案 0 :(得分:4)

您可以对新构建进行排队,并将“Logging Verbosity”上的覆盖设置为“Diagnostic”(它位于Queue Build的“参数”选项卡中)

运行后,打开Build,然后单击“View Log”。在将填充的长列表中,每个部分的右侧都会显示“持续时间”。

我会研究此日志以找出延迟的来源。

答案 1 :(得分:0)

  1. 尝试检查效果摘要,了解为什么会花费这么多 time - msbuild myproject.csproj / noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary
  2. 检查构建服务器上是否启用了并行构建
  3. 检查虚拟机硬件是否与本地计算机相当
  4. 检查您是否已禁用防病毒软件以检查构建中是否存在病毒 目录
  5. 检查您的绩效管理员为什么需要很长时间,在构建过程中同时运行哪些流程......