ビルド システムの変更点

Microsoft Visual C++ 2010 では、VCBuild システムの代わりに MSBuild システムを使用して、Visual C++ プロジェクトをビルドします。 この変更に伴い、Visual C++ の以前のリリースに存在した一部のファイルの種類およびコンセプトは、現在のシステムに存在しないか、別の名前になっています。 ここでは、現在のビルド システムの違いについて説明します。

.vcproj から .vcxproj へ

プロジェクト ファイルでは .vcproj ファイル名拡張子が使用されなくなりました。 Visual C++ の以前のリリースで作成されたプロジェクト ファイルは、Visual Studio により、現在のシステムで使用されている形式に自動的に変換されます。 手動でプロジェクトをアップグレードする方法の詳細については、「/Upgrade (devenv.exe)」を参照してください。

現在のリリースでは、プロジェクト ファイルのファイル名拡張子は .vcxproj です。

.vsprops から .props へ

以前のリリースでは、プロジェクトのプロパティ シートは .vsprops というファイル名拡張子を持つ XML ベースのファイルです。 プロジェクトのプロパティ シートを使用すると、コンパイラやリンカーなどのビルド ツールのスイッチを指定し、ユーザー定義のマクロを作成できます。

現在のリリースでは、プロジェクトのプロパティ シートのファイル名拡張子は .props です。

カスタム ビルド規則と .rules ファイル

以前のリリースでは、規則ファイルは .rules というファイル名拡張子を持つ XML ベースのファイルです。 規則ファイルを使用すると、カスタム ビルド規則を定義し、それらの規則を Visual C++ プロジェクトのビルド処理に取り入れることができます。 カスタム ビルド規則は、1 つ以上のファイル名拡張子に関連付けることができます。これを使用すると、1 つ以上の出力ファイルを作成するツールに入力ファイルを渡すことができます。

このリリースでは、カスタム ビルド規則は、.rules ファイルではなく、3 種類のファイル (.xml、.props、および .targets) により表されます。 Visual C++ の以前のリリースを使用して作成された .rules ファイルを現在のリリースに移行すると、同等の .xml、.props、および .targets ファイルが作成され、元の .rules ファイルと共にプロジェクトに保存されます。

重要

現在のリリースの IDE では、新しい規則の作成をサポートしていません。そのため、Visual C++ の以前のリリースを使用して作成されたプロジェクトの規則ファイルを使用するには、プロジェクトを現在のリリースに移行する方法が最も簡単です。

継承マクロ

以前のリリースでは、$(Inherit) マクロによって、継承されたプロパティがプロジェクト ビルド システムで構成されたコマンド ラインに指定される順序を指定します。 また、$(NoInherit) マクロを使用すると、$(Inherit) の指定がすべて無視され、通常は継承されるプロパティが継承されなくなります。 たとえば、既定では、$(Inherit) マクロを使用すると、/I (追加インクルード ディレクトリ) コンパイラ オプションを使用して指定したファイルがコマンド ラインに追加されます。

現在のリリースでは、プロパティの値を 1 つ以上のリテラル値とプロパティ マクロの連結として指定することで、継承がサポートされます。 $(Inherit) マクロと $(NoInherit) マクロはサポートされていません。

次の例では、セミコロン区切りのリストをプロパティ ページのプロパティに割り当てます。 リストは、<value> リテラルと MyProperty プロパティの値を連結して構成されています。このプロパティには、$(MyProperty) というマクロの表記を使用してアクセスしています。

Property=<value>;$(MyProperty)

.vcxproj.user ファイル

ユーザー ファイル (.vcxproj.user) には、デバッグと配置の設定などのユーザー固有のプロパティが格納されます。 vcxproj.user ファイルは、特定のユーザーのすべてのプロジェクトに適用されます。

.vcxproj.filters ファイル

ソリューション エクスプローラーを使用してファイルをプロジェクトに追加するときには、フィルター ファイル (.vcxproj.filters) により、ファイル名拡張子に基づいて、ファイルの追加先となるソリューション エクスプローラーのツリー ビュー内の場所が定義されます。

VC++ ディレクトリの設定

Visual C++ ディレクトリの設定は、[VC++ ディレクトリ] プロパティ ページで指定します。 以前のリリースの Visual Studio では、ディレクトリの設定がユーザーごとに適用され、sysincl.dat ファイルで除外ディレクトリが指定されていました。

コマンド ラインで devenv /resetsettings を実行する場合、VC++ ディレクトリの設定は変更できません。 また、[ツール] メニューを開き、[設定のインポートとエクスポート] をクリックし、[すべての設定をリセット] を選択した場合も、設定は変更できません。

Visual C++ の以前のリリースで作成された .vssettings ファイルの VC++ ディレクトリ設定は移行してください。 [ツール] メニューを開き、[設定のインポートとエクスポート] をクリックし、[選択された環境設定をインポート] を選択し、ウィザードの指示に従います。 または、Visual Studio の初回起動時に、[既定の環境設定の選択] ダイアログ ボックスで、[以前のバージョンから有効な設定を移行し、以下で選択した既定の設定と合わせて適用する] を選択します。

参照

その他の技術情報

MSBuild (Visual C++)