2011-04-16 9 views
7

私はそれに40-ishプロジェクトのVisual Studio 2010ソリューションを用意しています(C#+ C++/CLI)。私は、デバッグを開始する前に、ソリューション全体を構築するようにVisual Studioを設定しました。Visual Studioでは、デバッグセッショントリガビルドと同じようにインクリメンタルビルドを作成する方法はありますか?

他のプロジェクトが依存していない 'リーフ'プロジェクトのコードを変更したとします。明示的にソリューションを段階的に構築すると(F6またはF7)、ソリューション内の各プロジェクトのビルド出力行が表示されます。最新のプロジェクトは再コンパイルされていません。たとえば、プロジェクトの警告は表示されません。時間がかかります(5〜10秒程度)。

ここで、同じファイルを再度変更し、デバッグを開始するとします(F5)。今何か別のものが起こります。変更されたプロジェクトのみが再コンパイルされ(1秒程度かかります)、デバッグはほとんど瞬時に開始されます。

Visual Studioにはインクリメンタルビルドの2つの戦略があり、最適化された最適化されたものは、デバッグセッションの副産物としてのみ使用できるようです。

質問:

デバッグセッションを開始せず、手動でこれをより最適化されたビルド戦略を起動する方法はありますか?

+0

@BoltClock:ああ、私はプロファイルに依存すると思います。私はいつもC++キーボードスキームを選択します。そこにはF7がインクリメンタルビルドです。 (質問を修正しました) –

+0

ああ、十分に... – BoltClock

答えて

2

デバッグするときは、デバッグ対象のプロジェクトのみをビルドします。ソリューションをビルドすると、ソリューション内のすべてのプロジェクトがビルドされます。実際にコンパイルされたものがない場合でも、各プロジェクトに関連するチェックがあります。ビルドプロセスのこれらのステップは、コンパイルアクションが実行されない場合でも、ソリューションのビルドに時間がかかります。

あなたはツール - >オプション...プロジェクトおよびソリューションの下で見に行けば - >ノーマル以上にこれを設定するビルドして実行のMSBuildプロジェクトのビルド出力の冗長が呼ばれる設定であるがすべきあなたはvsのデバッグをビルドするときに実際に何が起こっているかについていくつかの洞察を与えてくれます。出力ウィンドウを表示し、ビルド出力を表示してその設定からの情報を表示する必要があります。

Shift + F6を押して現在のプロジェクトをビルドすることができます。これは同じ速度にする必要があります。

関連する問題