2009-03-20 15 views
0

私はVisual Studio 2008のビルド構成マネージャーの目的に苦しんでいます。具体的には、コンソールアプリケーションとWebアプリケーション(Webアプリケーションプロジェクト)を開発するときに何ができるかを知ることに興味があります。デバッグモードまたはリリースモードに設定すると、VS2008のコンテキストでアプリケーションを開発して実行するときに違いがありますか?ソリューションを構築するときはどうしたらよいでしょうか?VS2008のビルド構成マネージャの目的は何ですか?

答えて

2

ビルド構成マネージャでは、ソリューションのプロジェクトビルドオプションをさまざまに組み合わせて設定できます。たとえば、4つのプロジェクト、log4net、DAL、ビジネス層、およびWebサイトのソリューションがあるとします。ほとんどの場合、ウェブサイトとビジネス層をデバッグで実行したいが、DALとlog4netはリリースモードで実行したい。時にはDALもデバッグで実行したいと思うかもしれませんが、まれにしかデバッグですべてを実行したくない場合があります。設定マネージャでは、そのような設定を定義することができます。

さらに、x64をターゲットとするプロジェクトがいくつかあり、必要に応じてAny64をターゲットとするx64ビルドを定義できます。または、特定のプロジェクトを除外し、必要に応じて他のプロジェクトを組み込んだビルドターゲットです。

簡潔に言えば、configマネージャを使用すると、単純なdebug-allまたはrelease-allを超えたレベルでプロセス間のビルド関係を制御できます。

私は、あなたが設定マネージャーをとにかく混乱させる必要はないと思うでしょう。 :-)

0

次のような状況では、このツールは非常に便利な私を見つけた:

1 - あなたは、溶液中のプロジェクトの多くを持っている、とあなたが現在取り組んでいるプロジェクトのみを構築したいですデバッグとの違いについて、あなたの質問に答えるために

2 - あなたが定期的に異なるタイプに生成する必要がビルド(リリース対デバッグ、x86の対x64の、など)

(代わりに2MNの10Sをとります)リリースモードでは、間違いなく違いがあります。通常、VSはデバッグモードでビルドするときにコードを「そのまま」コンパイルし、リリースモードでは物を最適化(つまりインライン化など)します。例えば

、あなたはこのコードをビルドする場合:デバッグモードで

public bool Foo(){ 
    return true; // put a breakpoint here, and move the execution position to the next line 
    console.WriteLine("Foo"); 
    return true; 
    } 

をコンパイラがコードを検出したため、あなたが(ないリリースモードでは、それを行うことができるようになります「到達不能、およびhasnました

+0

実際には、プログラムが決してそこに到達しないため、ブレークポイントは決してデバッグモードでヒットしません。 – demoncodemonkey

+0

whooops;私の投稿を編集して、私の意味をよりよく説明しました。 – Brann

関連する問題