ビルド構成について

適用対象:yesVisual Studio noVisual Studio for Mac noVisual Studio Code

異なる設定でプロジェクトをビルドする必要がある場合は、ビルド構成が必要です。 たとえば、[デバッグ][リリース] はビルド構成であり、それらをビルドするときにはそれぞれ異なるコンパイラ オプションが使用されます。 1 つの構成がアクティブになっており、IDE の上部にあるコマンド バーに表示されます。

Visual Studio のメイン ツールバーのアクティブ構成を示すスクリーンショット。

Visual Studio のメイン ツールバーのアクティブ構成を示すスクリーンショット。

注意

このトピックは、Windows 上の Visual Studio に適用されます。 Visual Studio for Mac については、Visual Studio for Mac でのビルド構成に関するページを参照してください。

構成とプラットフォームによって、ビルドされた出力ファイルが格納される場所が制御されます。 通常、Visual Studio でプロジェクトをビルドすると、アクティブな構成で名前付けされたプロジェクトのサブフォルダー (例: bin/Debug/x86) に出力が配置されます。ただし、これは変更できます。

ソリューション レベルとプロジェクト レベルで独自のビルド構成を作成することができます。 ソリューション構成では、その構成がアクティブなときにビルドに含まれるプロジェクトが決定されます。 アクティブなソリューション構成で指定されているプロジェクトのみがビルドされます。 構成マネージャーで複数のターゲット プラットフォームが選択されている場合、そのプラットフォームに適用されるすべてのプロジェクトがビルドされます。 プロジェクト構成では、そのプロジェクトをビルドするときに使用されるビルド設定とコンパイラ オプションが決定されます。

構成を作成、選択、変更、または削除するには、構成マネージャーを使用できます。 それを開くには、メニュー バーで、 [ビルド]>[構成マネージャー] を選択するか、検索ボックスに「構成」と入力します。 また、 [標準] ツール バーの [ソリューション構成] ボックスの一覧を使用して構成を選択することも、 [構成マネージャー] を開くこともできます。

[構成マネージャー] ダイアログのスクリーンショット。

Note

ツール バーでソリューション構成の設定を見つけることができず、構成マネージャーにアクセスできないときは、Visual Basic の開発設定を使っているためである場合があります。 詳細については、Visual Basic 開発者設定が適用された構成を管理する」を参照してください。

既定では、Visual Studio のテンプレートを使って作成されたプロジェクトには、デバッグ構成とリリース構成が含まれます。 [デバッグ] 構成ではアプリのデバッグがサポートされ、 [リリース] 構成では配置可能なバージョンのアプリがビルドされます。 詳細については、デバッグ構成とリリース構成を設定する」を参照してください。 カスタム ソリューション構成とプロジェクト構成を作成することもできます。 詳細については、構成を作成および編集する」を参照してください。

ソリューション構成

ソリューション構成によって、ソリューション内のプロジェクトをビルドおよび配置する方法が指定されます。 ソリューション構成の変更または新しい構成の定義を行うには、構成マネージャーで、 [アクティブ ソリューション構成][編集] または [新規作成] を選択します。

ソリューション構成の [プロジェクトのコンテキスト] ボックスの各エントリは、ソリューション内のプロジェクトを表します。 [アクティブ ソリューション構成][アクティブ ソリューション プラットフォーム] の組み合わせごとに、各プロジェクトの使用形態を設定できます (ソリューション プラットフォームの詳細については、「ビルド プラットフォームについて」を参照してください)。

新しいソリューション構成を定義して [新しいプロジェクト構成を作成する] チェック ボックスをオンにした場合、Visual Studio によってすべてのプロジェクトに新しい構成が自動的に割り当てられます。 同様に、新しいソリューション プラットフォームを定義して [新しいプロジェクト プラットフォームを作成する] チェック ボックスをオンにした場合は、Visual Studio によってすべてのプロジェクトに新しいプラットフォームが自動的に割り当てられます。 また、新しいプラットフォームを対象とするプロジェクトを追加すると、Visual Studio により、そのプラットフォームがソリューション プラットフォームの一覧に追加され、すべてのプロジェクトに割り当てられます。 その場合も、各プロジェクトの設定は変更できます。

アクティブなソリューション構成には、IDE 用にコンテキストを用意する役割もあります。 たとえば、プロジェクトでの作業中に、プロジェクトがモバイル デバイス用にビルドされるように構成で指定されていると、モバイル デバイス プロジェクトで使用できる項目のみが [ツールボックス] に表示されます。

プロジェクトの構成

プロジェクトが対象とする構成とプラットフォームは一緒に使用され、そのビルド時に使用されるビルド設定とコンパイラ オプションが指定されます。 プロジェクトは、構成とプラットフォームの組み合わせごとに、異なる設定を持つことができます。 プロジェクトのプロパティを変更するには、ソリューション エクスプローラーでそのソリューションのショートカット メニューを開き、 [プロパティ] を選択します。 プロジェクト デザイナーの [ビルド] タブの上部で、ビルド設定を編集するアクティブな構成を選択します。

プロジェクト デザイナー構成のスクリーンショット。

プロジェクト デザイナー構成のスクリーンショット。

複数の構成のビルド

[ビルド]>[ソリューションのビルド] コマンドを使用してソリューションをビルドする場合、Visual Studio ではアクティブな構成だけがビルドされます。 そのソリューション構成で指定されているすべてのプロジェクトがビルドされます。また、ビルドされるプロジェクト構成は、Visual Studio 内のツールバーに表示されるアクティブ ソリューション構成とアクティブ ソリューション プラットフォームで指定されているものだけです。 たとえば、Debugx86 です。 その他の定義済みの構成とプラットフォームは、ビルドされません。

1 回の操作で複数の構成とプラットフォームをビルドする場合は、Visual Studio で [ビルド]>[バッチ ビルド] オプションを使用できます。 この機能にアクセスするには、Ctrl+Q キーを押して検索ボックスを開き、「Batch build」と入力します。 バッチ ビルドは、すべてのプロジェクトの種類で使用できるわけではありません。 「方法:複数の構成を同時にビルドする」を参照してください。

Visual Studio によるプロジェクト構成の割り当て方法

既存の構成から設定をコピーせずに新しいソリューション構成を定義する場合、Visual Studio では、次の基準を使用して既定のプロジェクト構成が割り当てられます。 基準は、ここに示されている順序で評価されます。

  1. プロジェクトに新しいソリューション構成の名前と完全に一致する構成名 (<構成名><プラットフォーム名>) がある場合は、その構成が割り当てられます。 構成名では大文字と小文字が区別されません。

  2. プロジェクトに、 の部分が新しいソリューション構成に一致する構成名がある場合は、 の部分が一致するかどうかに関係なく、その構成が割り当てられます。

  3. これらが一致しない場合は、プロジェクトで設定されている最初の構成が割り当てられます。

Visual Studio によるソリューション構成の割り当て方法

プロジェクト構成を作成 (構成マネージャーで、プロジェクトの [構成] 列のドロップダウン メニューで [新規作成] を選択) し、 [新しいソリューション構成を作成する] チェック ボックスをオンにした場合、Visual Studio は、サポートする各プラットフォームでプロジェクトをビルドするために、似た名前のソリューション構成を探します。 場合によっては、Visual Studio が既存のソリューション構成名を変更することも、新しいソリューション構成を作成することもあります。

Visual Studio では、次の基準を使用してソリューション構成が割り当てられます。

  • プロジェクト構成でプラットフォームが指定されていない場合や、指定されているプラットフォームが 1 つのみの場合は、新しいプロジェクト構成名と一致する名前のソリューション構成が見つかればその構成が割り当てられ、見つからなければ追加されます。 このソリューション構成の既定の名前にはプラットフォーム名が含まれず、<プロジェクトの構成名> という形式になります。

  • プロジェクトで複数のプラットフォームがサポートされる場合、サポートされている各プラットフォームについて、ソリューション構成が見つかればその構成が割り当てられ、見つからなければ追加されます。 各ソリューション構成の名前には、プロジェクト構成名とプラットフォーム名の両方が含まれ、<プロジェクト構成名><プラットフォーム名> という形式になります。

関連項目