長いビルド時間 (私たちの C++ ソリューションは、 Incredibuild を使用してビルドするのに約 1 時間かかります!) との戦いの一環として、ビルド時間のホットスポットを見つけようとしています。マシンでビルド時間のログ ([ツール] -> [オプション] -> [プロジェクトとソリューション] -> [VC++ プロジェクトの設定] -> [ビルドのタイミング]) を有効にしました。プロジェクトを作成して、より便利な場所にダンプします)。
問題は、CI ビルドが同じことを行うことができないことです。私たちは CruiseControl.Net を使用しています (私は TeamCity に移行するようチームを説得しようとしていますが)。オーバーナイト ビルドは Incredibuild を使用しないため、これは私のロギング目的には理想的です。
CC.Net は、専用のシステム アカウントを使用してサービスとして実行されます。サーバーにログインし、システム アカウントを使用して Visual Studio を起動し、[ビルドのタイミング] 設定を適用しました。しかし、ビルドにはビルド時間が表示されません。
それで:
(a) 影響を与える可能性があるサービスから VS を実行することについて何か特別なことはありますか?
(b) CC.Net から実行することについて何か特別なことはありますか (DevEnv タスクを使用してソリューション全体を構築しています - デフォルトのインストール場所 - オプションを設定した場所と一致します)?
(c) ビルド時間をログに記録するように強制できる他の方法はありますか?