解释MSBuild性能摘要输出

Dan*_*ter 1 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
Run Code Online (Sandbox Code Playgroud)

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

小智 5

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

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