我在使用 Visual Studio 2012 构建时遇到问题,它运行速度极慢。前段时间还好好的,不知道怎么回事。我启用了诊断构建输出,并看到了这个:
3>Target Performance Summary:
...
3> 1093 ms ResolveComReferences 1 calls
3> 2741 ms ResolveAssemblyReferences 1 calls
3> 3725 ms CoreCompile 1 calls
3> 314117 ms PreBuildEvent 1 calls
3>
3>Task Performance Summary:
...
3> 1092 ms ResolveComReference 1 calls
3> 2741 ms ResolveAssemblyReference 1 calls
3> 3724 ms Csc 1 calls
3> 314117 ms Exec 1 calls
3>
3>Build succeeded.
3>
3>Time Elapsed 00:05:22.93
预建事件:
Powershell -File "$(ProjectDir)Prepare4Tests.ps1"
脚本文件:
# Close all IE instances
if($env:COMPUTERNAME -ne 'W8ALEXAB')
{
Get-Process | Where { $_.Name -Eq 'iexplore' } | Kill;
}
# Delete test files generated by agent that are more than 7 days old.
$paths = @("C:\Users\tsservice\AppData\Local\VSEQT\QTAgent", "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\VSEQT\QTController");
foreach($path in $paths)
{
if(Test-Path $path)
{
$items = @(Get-ChildItem $path | Where {$_.lastwritetime -lt (Get-date).AddDays(-8)});
for($i = 0; $i -lt $items.Length; $i++)
{
$itemPath = join-path $path $items[$i] -Resolve;
"Deleting item: " + $itemPath;
Remove-Item $itemPath -force;
}
}
}
另一个包含执行另一个 powershell 脚本的构建后事件的项目也存在同样的问题。
如果我直接从命令提示符启动脚本,它运行速度很快,没有任何问题。同样在重建时,netstat.exe 总是启动,不知道为什么。任何帮助将不胜感激,欢迎任何想法!
PS 我们团队的其他人也没有这样的问题,所以这绝对是我这边的事情。这是完整的构建日志:
https://gist.github.com/4064296
2012 年 12 月 11 日更新:尝试设置检查点,正如我之前所说,powershell 脚本本身就像一个魅力
3> Task Parameter:Command=Powershell -File "D:\Projects\NGNMS\Dev\NMSClient\NMSClient.UT\Prepare4Tests.ps1" (TaskId:72)
3> Powershell -File "D:\Projects\NGNMS\Dev\NMSClient\NMSClient.UT\Prepare4Tests.ps1" (TaskId:72)
3> Checkpoint 1 11/12/2012 13:08:07 (TaskId:72)
3> Checkpoint 2 11/12/2012 13:08:07 (TaskId:72)
3> Checkpoint 3 11/12/2012 13:08:07 (TaskId:72)
3>Done executing task "Exec". (TaskId:72)