Visual Studio プロジェクトの設定を共有または再利用する

他のユーザーと共有したり複数のプロジェクトで再利用したりできる設定のカスタム グループを作成するには、プロパティ マネージャーを使用して "プロパティ シート" (.props ファイル) を作成し、再利用または他のユーザーと共有できるようにする各種類のプロジェクトの設定を格納します。 プロパティ シートを使用すると、他の方法で "グローバル" 設定を作成する場合より、はるかにエラーが発生しにくくなります。

重要

*.user ファイルの問題

Visual Studio の過去のバージョンでは、..user ファイル名拡張子をもち、\<userprofile>\AppData\Local\Microsoft\MSBuild\v4.0\ フォルダーにある、グローバル プロパティ シートを使っていました。 これらのファイルは、ユーザー単位、コンピューター単位でプロジェクト構成のプロパティを設定するため、現在はお勧めしていません。 このような "global" 設定は、特にビルド コンピューター上で複数のプラットフォームを対象とする場合にビルドに影響する可能性があります。 たとえば、MFC プロジェクトと Windows Phone プロジェクトの両方をもつ場合は、.user プロパティはいずれか 1 つに対して無効となります。 再利用可能なプロパティ シートは、より柔軟で堅牢です。

現在も .user ファイルは Visual Studio によってインストールされ、プロパティ継承に参加しますが、既定では空です。 最も良い方法は、プロジェクトがすべてのユーザー単位、コンピューター単位の設定に関係なく動作するように、プロパティ マネージャー でそれらへの参照を削除することです。 この方法は、SCC (ソース コード管理) 環境で適切な動作が行われるようにするために重要です。

プロパティ マネージャーを表示するには、メニュー バーで、設定に応じて [表示]>[プロパティ マネージャー] または [表示]>[その他のウィンドウ]>[プロパティ マネージャー] を選択します。

よく使用される共通のプロパティ セットを複数のプロジェクトに適用する場合は、プロパティ マネージャーを使ってそれらを再利用可能な "プロパティ シート" ファイルにキャプチャできます。これは慣例により .props ファイル名拡張子をもちます。 プロパティを最初から設定しなくても済むように、そのシートを新しいプロジェクトに適用できます。

Screenshot of the Property Manager shortcut menu.

各構成ノードの下には、その構成に適用される各プロパティ シートのノードが表示されます。 ユーザーがプロジェクトを作成すると、システムはアプリ ウィザードでユーザーが選んだオプションに基づいて共通の値を設定するプロパティ シートを追加します。 任意のノードを右クリックして [プロパティ] を選ぶと、そのノードに適用されるプロパティが表示されます。 すべてのプロパティ シートは、プロジェクトの プライマリ プロパティ シート (ms.cpp.props) に自動的にインポートされ、プロパティ マネージャーに表示される順序で評価されます。 プロパティ マネージャーで移動することにより、評価順序を変更することができます。 後で評価されるプロパティ シートにより、前に評価されたシートの値はオーバーライドされます。 .vcxproj ファイル、.props ファイルおよび .targets ファイル、環境変数、コマンド ラインでの評価の順序の詳細については、「プロジェクト プロパティの継承」を参照してください。

[新しいプロジェクト プロパティ シートの追加] を選択してから、たとえば MyProps.props プロパティ シートを選ぶと、プロパティ ページ ダイアログ ボックスが表示されます。 これは MyProps プロパティ シートに適用されることに注意してください。行った変更は、プロジェクト ファイル (.vcxproj) ではなくシートに書き込まれます。

.vcxproj ファイルで同じプロパティが直接設定されている場合、プロパティ シートのプロパティはオーバーライドされます。

必要に応じて何度でもプロパティ シートをインポートできます。 ソリューション内の複数のプロジェクトが同じプロパティ シートから設定を継承することができ、プロジェクトは複数のシートを持つことができます。 プロパティ シート自体は別のプロパティ シートから設定を継承できます。

また、複数の構成に対して共通のプロパティ シートを作成できます。 各構成のプロパティ シートを作成するには、そのうちの 1 つのショートカット メニューを開き、[既存のプロパティ シートの追加] を選択して、他のシートを追加します。 ただし、共通のプロパティ シートを使用する場合、設定するプロパティは、シートが適用されるすべての構成に対して適用されます。 IDE では、どのプロジェクトや他のプロパティ シートで特定のプロパティ シートからの継承が行われるかは示されません。

多くのプロジェクトがある大規模なソリューションでは、ソリューションのすべてのプロジェクトに共通のプロパティ シートを作成すると有用な場合があります。 通常どおりにプロパティ シートを作成します。 プロパティ マネージャーを使用して、ソリューションの各プロジェクトにそのプロパティ シートを追加します。 必要であれば、プロジェクト レベルで、別のプロパティ シートを追加してプロジェクト固有の値を設定できます。

重要

既定では、.props ファイルはプロジェクト項目として作成されていないため、ソース管理に含まれません。 ソース管理に含める場合は、ソリューション項目として手動でファイルを追加できます。

プロパティ シートを作成するには

  1. メニュー バーで、 [表示]>[プロパティ マネージャー] または [表示]>[その他のウィンドウ]>[プロパティ マネージャー] を選択します。 プロパティ マネージャーが開きます。

  2. プロパティ シートのスコープを定義するには、適用する項目を選択します。 この項目は、特定の構成または別のプロパティ シートです。 この項目のショートカット メニューを開き、 [新しいプロジェクト プロパティ シートの追加] を選びます。 名前と場所を指定します。

  3. プロパティ マネージャーで新しいプロパティ シートを開き、含めるプロパティを設定します。