MSBuild ターゲット フレームワークおよびターゲット プラットフォーム

プロジェクトはターゲット フレームワークとターゲット プラットフォームで動作するようにビルドできます。ターゲット フレームワークとは .NET Framework の特定のバージョンを表し、ターゲット プラットフォームとは特定のソフトウェア アーキテクチャを表します。たとえば、802x86 プロセッサ ファミリ ("x86") と互換性のある 32 ビット プラットフォーム上の .NET Framework 2.0 で動作するアプリケーションを対象とすることができます。 ターゲット フレームワークとターゲット プラットフォームの組み合わせはターゲット コンテキストと呼ばれます。

ターゲット フレームワークとプロファイル

ターゲット フレームワークとは、ビルドするプロジェクトの実行対象とする .NET Framework の特定のバージョンを意味します。 ターゲット フレームワークの仕様は必須です。これは、ターゲット フレームワークの仕様によって、そのフレームワークのバージョン専用のコンパイラ機能とアセンブリ参照が利用可能になるためです。

現在、.NET Framework については次のバージョンを使用できます。

  • .NET Framework 2.0 (Visual Studio 2005 に付属しています)

  • .NET Framework 3.0 (Windows Vista に付属しています)

  • .NET Framework 3.5 (Visual Studio 2008 に付属しています)

  • .NET Framework 4 (Visual Studio 2010 に付属しています)

  • .NET Framework 4.5 (Visual Studio 2012 に付属しています)

  • .NET Framework 4.5.1 (Visual Studio 2013 に付属しています)

.NET Framework の各バージョンでは、参照できるアセンブリのリストがそれぞれ異なっています。 たとえば、WPF (Windows Presentation Foundation) アプリケーションをビルドするには、プロジェクトが .NET Framework のバージョン 3.0、3.5、4、4.5、4.5.1 を対象としている必要があります。

ターゲット フレームワークは、プロジェクト ファイルの TargetFrameworkVersion プロパティで指定されます。 プロジェクトのターゲット フレームワークを変更するには、Visual Studio 統合開発環境 (IDE) でプロジェクトのプロパティ ページを使用します。 詳細については、「方法: .NET Framework のバージョンをターゲットにする」を参照してください。 TargetFrameworkVersion に使用できる値は、v2.0、v3.0、v3.5、v4.0、v4.5、v4.5.1 です。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

ターゲット プロファイルはターゲット フレームワークのサブセットです。 たとえば、.NET Framework 4 Client Profile には、MSBuild アセンブリへの参照が含まれていません。

ターゲット プロファイルは、プロジェクト ファイルの TargetFrameworkProfile プロパティで指定されます。 ターゲット プロファイルを変更するには、IDE でプロジェクトのプロパティ ページにあるターゲット フレームワークのコントロールを使用します。 詳細については、「方法: .NET Framework のバージョンをターゲットにする」を参照してください。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

ターゲット プラットフォーム

プラットフォームは、特定のランタイム環境を定義するハードウェアとソフトウェアの組み合わせです。 次に例を示します。

  • x86 は、Intel 80x86 プロセッサまたはそれに相当するプロセッサで実行されている 32 ビット Windows オペレーティング システムを示しています。

  • Xbox は、Microsoft Xbox 360 プラットフォームを示しています。

ターゲット プラットフォームは、ビルドするプロジェクトの実行対象となる特定のプラットフォームです。 ターゲット プラットフォームは、プロジェクト ファイルの Platform ビルド プロパティで指定されます。 ターゲット プラットフォームを変更するには、IDE でプロジェクトのプロパティ ページまたは [構成マネージャー] を使用します。

<PropertyGroup>
   <Platform>x86</Platform>
</PropertyGroup>

ターゲット構成はターゲット プラットフォームのサブセットです。 たとえば、x86 Debug 構成には、ほとんどのコード最適化が含まれていません。 ターゲット構成は、プロジェクト ファイルの Configuration ビルド プロパティで指定されます。 ターゲット構成を変更するには、プロジェクトのプロパティ ページまたは [構成マネージャー] を使用します。

<PropertyGroup>
   <Platform>x86</Platform>
   <Configuration>Debug</Configuration>
<PropertyGroup>

参照

その他の技術情報

MSBuild のマルチ ターゲットの概要