解释MSBuild性能摘要输出

时间:2010-07-28 14:39:44

标签: msbuild

我试图了解MSBuild的一些性能摘要输出。结果如下所示:

Target Performance Summary:
        0 ms  PrepareForRun                             74 calls
        0 ms  Compile                                   74 calls
        ...
        ...
        ...
        ...
    15173 ms  ResolveProjectReferences                  74 calls
    29607 ms  Build                                     75 calls

Task Performance Summary:
        2 ms  CreateCSharpManifestResourceName           6 calls
        2 ms  ResolveKeySource                           1 calls
    ...
    ...
    ...
    ...
     3623 ms  Copy                                     511 calls
     7468 ms  ResolveAssemblyReference                  74 calls
    11234 ms  Exec                                      12 calls
    48600 ms  MSBuild                                  210 calls

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:29.60

为什么MSBuild的总时间超过总耗用时间?事实上,运行此构建的实际秒表时间约为29秒。我在网上看到的这些摘要的任何例子都表明,任务和目标的总时间是相同的。

1 个答案:

答案 0 :(得分:5)

MSBuild和CallTarget任务调用其他目标(以及其他任务)。花在这些任务上的时间也是根据MSBuild和CAllTarget任务计算的。一个错误,真的。

因此,在阅读此数据时,请始终忽略这两项任务。总结其他任务应该比总构建时间少一点。