次の方法で共有


構成オプションの概要

Visual Studio のプロジェクトでは、ビルド、デバッグ、実行、配置が可能な複数の構成をサポートできます。 構成は、プロパティ (多くの場合コンパイラ スイッチとファイルの場所) の名前付きセットで記述されたビルドの種類です。 既定では、新しいソリューションには、デバッグリリースの 2 つの構成が含まれています。 これらの構成は、既定の設定を使用して適用することも、特定のソリューションやプロジェクトの要件に合わせて変更することもできます。 一部のパッケージは、ActiveX エディターとして、またはインプレース コンポーネントとして、2 つの方法で構築できます。 ただし、プロジェクトでは複数の構成をサポートする必要はありません。 使用できる構成が 1 つだけの場合、その構成はすべてのソリューション構成にマップされます。

構成は、通常、構成名 (デバッグリリースなど) とプラットフォームの設定の 2 つの部分からなります。 構成のプラットフォーム名は、API セットやオペレーティング システム プラットフォームなど、構成がターゲットとする環境を識別します。 Visual Studio のユーザーは、プラットフォームを作成することはできません。プロジェクト VSPackage が許可する選択項目から選択する必要があります。 ユーザーが VSPackage をインストールすると、パッケージの開発中に作成された配信プラットフォームでは、パッケージ作成者によって設定された任意の条件に基づいて必要なプラットフォーム名を使用できます。 ユーザーは、プロパティ ページがインスタンス化されたときに、VSPackage で使用可能になっているプラットフォームの一覧から選択できます。

プラットフォームの概念は、すべてのプロジェクトでサポートされているわけではないため、プラットフォーム名は省略可能です。 構成にプラットフォーム名がない場合は、文字列 N/A が UI に表示されます。

各ソリューションには独自の一連の構成があり、そのうちの 1 つのみを同時にアクティブにすることができます。 ソリューション構成は、各プロジェクトの単一の構成のセットです。 "単一" という規定は、ソリューション構成からプロジェクトを除外するオプションに起因します。 ユーザーは、独自のカスタム ソリューション構成を作成できます。

次の表は、プロジェクトの一般的な構成設定を示しています。 行には構成名、列はプラットフォーム名でラベル付けされています。

構成名 プラットフォーム: Win32 プラットフォーム: Win64
デバッグ <Debug Win32 設定> <Debug Win64 設定>
リリース <Release Win32 設定> <Release Win64 設定>
Myconfig 該当なし <MyConfig Win64 設定>

Note

ターゲットとするプロジェクトが Win32 をサポートしていない場合を除き、Win32 プラットフォームを除外する MyConfig ソリューション構成を作成することはできません。

ソリューションのアクティブな構成を変更すると、そのソリューションでビルド、実行、デバッグ、または配置されたプロジェクト構成のセットが選択されます。 たとえば、アクティブなソリューション構成をリリースからデバッグに変更すると、そのソリューション内のすべてのプロジェクトは、ソリューションのデバッグ構成で指定されたプロジェクトの構成を使用して自動的にビルドされます。 プロジェクトの構成は、ユーザーが環境の構成マネージャーに手動で変更を加えていない場合も、Debug と名付けられます。

各プロジェクトに格納されるソリューション構成プロパティには、プロジェクト名、プロジェクト構成名、ビルドまたは配置するかどうかを示すフラグ、およびプラットフォーム名が含まれます。 詳細については、「ソリューション構成」を参照してください。

ユーザーは、階層内 (ソリューション エクスプローラー) のソリューションを選択してプロパティ ページを開くことによって、ソリューション構成パラメーターを表示および設定できます。 同様に、ソリューション エクスプローラーでプロジェクトを選択し、そのプロジェクトのプロパティ ページを開くことで、プロジェクト構成パラメーターを表示および設定できます。

ユーザーは、リリース構成設定を使用して 1 つのプロジェクトをビルドし、必要に応じてその他すべてのデバッグ構成設定を使用することもできます。 詳細については、「ビルドのためのプロジェクト構成」を参照してください。

次の図は、ソリューションとプロジェクトの構成をサポートするインターフェイスを実装する方法を示しています。

構成インターフェイスのグラフィック

構成インターフェイス

前の図に関連するいくつかの注意事項:

  • IDispatch は、構成オブジェクトでオプションとしてマークされています。 具体的には、参照オブジェクトに構成インターフェイスを含めることは任意です。

  • IVsDebuggableProjectCfg は、構成オブジェクトではオプションとしてマークされていますが、デバッグのサポートには必須です。

  • IVsProjectCfg2 は、構成オブジェクトではオプションとしてマークされていますが、出力グループ化のサポートには必須です。

  • 構成プロバイダー オブジェクトは、オプションのオブジェクトとしてマークされますが、オプションは実装する場所です。 オブジェクトは、プロジェクト オブジェクトまたは別のオブジェクトに実装できます。

  • IVsCfgProvider2 は、プラットフォームのサポートと構成の編集に必要です。 この機能を実装しない場合は IVsCfgProvider で十分です。

  • 図に示されているこれらのオブジェクトのいくつかは、個別のオブジェクトとして、特定の設計要件に基づいて実用的な場合は同じクラスにまとめることができます。 ただし、このセクションの他のトピックでは、これらのオブジェクトに関連付けられているオブジェクトとインターフェイスについて、図に示されているシナリオに従って説明します。

  • 特定のオブジェクトは個別に実装されます。 たとえば、プロジェクトとソリューションのビルドは別々のスレッドで実行され、ビルドを管理するためのオブジェクトは、ビルドの構成を記述するオブジェクトとは別に存在します。

    前の図の構成オブジェクト インターフェイスと構成プロバイダー オブジェクトインターフェイスの詳細については、「プロジェクト構成オブジェクト」を参照してください。 また、「ビルド用のプロジェクト構成」には、構成ビルダーとビルド依存関係オブジェクト インターフェイスの詳細情報が記載されています。また、「配置を管理するためのプロジェクト構成」では、構成配置機能と配置依存関係オブジェクトにアタッチされているインターフェイスについて詳しく説明しています。 最後に、「出力のためのプロジェクト構成」では、出力グループと出力オブジェクト インターフェイス、およびプロパティ ページを使用して、構成に依存するプロパティを表示および設定する方法について説明しています。