TFS构建比命令行中的相同msbuild花费更长的时间

时间:2015-07-02 08:18:26

标签: .net wpf msbuild tfs2013

我在TFS 2013上遇到了性能问题。我有一个构建定义(基于流程TfvcTemplate.12.xaml),它构建了3个解决方案(每个大约有30个项目,它是一个WPF / WCF应用程序)。构建大约需要45分钟,因为它似乎需要很长时间(在我们的工作站上构建相同的时间需要几分钟)我已将日志级别设置为诊断,并发现当msbuild编译WPF项目时,它花费大部分时间在MarkupCompilePass1和MarkupCompilePass2任务,这里有一个例子:

 1540 ms  GenerateTemporaryTargetAssembly            1 calls
 6353 ms  CoreCompile                                6 calls
 6840 ms  ResolveProjectReferences                   5 calls
94682 ms  MarkupCompilePass1                         1 calls
112988 ms  MarkupCompilePass2                         1 calls

我试图在同一台机器上的命令行中执行相同的msbuild语句(相同的参数,只是更改了日志文件路径),奇怪的是它花费了不少。同一项目的性能日志:

 865 ms  ResolveAssemblyReference                   5 calls
 1493 ms  MarkupCompilePass2                         1 calls
 1730 ms  GenerateTemporaryTargetAssembly            1 calls
 1976 ms  MarkupCompilePass1                         1 calls
 7258 ms  Csc                                        6 calls
11879 ms  MSBuild                                   12 calls

tfs构建代理的这种不同行为背后有原因吗?

我还尝试让代理构建一个简单的空项目,并将msbuild命令放在批处理中,以便在构建之后执行,但结果是一样的,tfs代理挂起并花时间在MarkupCompilePass1 / 2中

可以感谢任何帮助!

0 个答案:

没有答案