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

プロジェクトはターゲット フレームワークとターゲット プラットフォームで動作するようにビルドできます。ターゲット フレームワークとは .NET Framework の特定のバージョンを表し、ターゲット プラットフォームとは特定のソフトウェア アーキテクチャを表します。A project can be built to run on a target framework, which is a particular version of the .NET Framework, and a target platform, which is a particular software architecture. たとえば、802x86 プロセッサ ファミリ ("x86") と互換性のある 32 ビット プラットフォーム上の .NET Framework 2.0 で動作するアプリケーションを対象とすることができます。For example, you can target an application to run on the .NET Framework 2.0 on a 32-bit platform that is compatible with the 802x86 processor family ("x86"). ターゲット フレームワークとターゲット プラットフォームの組み合わせはターゲット コンテキストと呼ばれます。The combination of target framework and target platform is known as the target context.

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

ターゲット フレームワークとは、ビルドするプロジェクトの実行対象とする .NET Framework.NET Framework の特定のバージョンを意味します。A target framework is the particular version of the .NET Framework.NET Framework that your project is built to run on. ターゲット フレームワークの仕様は必須です。これは、ターゲット フレームワークの仕様によって、そのフレームワークのバージョン専用のコンパイラ機能とアセンブリ参照が利用可能になるためです。Specification of a target framework is required because it enables compiler features and assembly references that are exclusive to that version of the framework.

現在、.NET Framework については次のバージョンを使用できます。Currently, the following versions of the .NET Framework are available for use:

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

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

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

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

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

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

  • .NET Framework.NET Framework4.5.2The .NET Framework.NET Framework 4.5.2

  • .NET Framework.NET Framework 4.6 (Visual Studio 2015Visual Studio 2015 に付属しています)The .NET Framework.NET Framework 4.6 (included in Visual Studio 2015Visual Studio 2015)

    .NET Framework の各バージョンでは、参照できるアセンブリの一覧がそれぞれ異なっています。The versions of the .NET Framework differ from one another in the list of assemblies that each makes available to reference. たとえば、WPF (Windows Presentation Foundation) アプリケーションをビルドするには、プロジェクトが .NET Framework のバージョン 3.0 以上 を対象としている必要があります。For example, you cannot build Windows Presentation Foundation (WPF) applications unless your project targets the .NET Framework version 3.0 or above.

    ターゲット フレームワークは、プロジェクト ファイルの TargetFrameworkVersion プロパティで指定されます。The target framework is specified in the TargetFrameworkVersion property in the project file. プロジェクトのターゲット フレームワークを変更するには、Visual Studio 統合開発環境 (IDE) でプロジェクトのプロパティ ページを使用します。You can change the target framework for a project by using the project property pages in the Visual Studio integrated development environment (IDE). 詳細については、「方法: .NET Framework のバージョンをターゲットにする」を参照してください。For more information, see How to: Target a Version of the .NET Framework. TargetFrameworkVersion に使用できる値は、v2.0v3.0v3.5v4.0v4.5v4.5.1v4.5.2v4.6 です。The available values for TargetFrameworkVersion are v2.0, v3.0, v3.5, v4.0, v4.5, v4.5.1, v4.5.2, and v4.6.

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>  

目標一覧表はターゲット フレームワークのサブセットです。A target profile is a subset of a target framework. たとえば、.NET Framework 4 Client Profile には、MSBuild アセンブリへの参照が含まれていません。For example, the .NET Framework 4 Client profile does not include references to the MSBuild assemblies.

ターゲット プロファイルは、プロジェクト ファイルの TargetFrameworkProfile プロパティで指定されます。The target profile is specified in the TargetFrameworkProfile property in a project file. 目標一覧表を変更するには、IDE でプロジェクトのプロパティ ページにあるターゲット フレームワークのコントロールを使用します。You can change the target profile by using the target-framework control in the project property pages in the IDE. 詳細については、「方法: .NET Framework のバージョンをターゲットにする」を参照してください。For more information, see How to: Target a Version of the .NET Framework.

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

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

プラットフォームは、特定のランタイム環境を定義するハードウェアとソフトウェアの組み合わせです。A platform is combination of hardware and software that defines a particular runtime environment. 次に例を示します。For example,

  • x86 は、Intel 80x86 プロセッサまたはそれに相当するプロセッサで実行されている 32 ビット Windows オペレーティング システムを示しています。x86 designates a 32-bit Windows operating system that is running on an Intel 80x86 processor or its equivalent.

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

    ターゲット プラットフォームは、ビルドするプロジェクトの実行対象となる特定のプラットフォームです。A target platform is the particular platform that your project is built to run on. ターゲット プラットフォームは、プロジェクト ファイルの Platform ビルド プロパティで指定されます。The target platform is specified in the Platform build property in a project file. ターゲット プラットフォームを変更するには、IDE でプロジェクトのプロパティ ページまたは [構成マネージャー] を使用します。You can change the target platform by using the project property pages or the Configuration Manager in the IDE.

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

ターゲット構成はターゲット プラットフォームのサブセットです。A target configuration is a subset of a target platform. たとえば、x86``Debug 構成には、ほとんどのコード最適化が含まれていません。For example, the x86``Debug configuration does not include most code optimizations. ターゲット構成は、プロジェクト ファイルの Configuration ビルド プロパティで指定されます。The target configuration is specified in the Configuration build property in a project file. ターゲット構成を変更するには、プロジェクトのプロパティ ページまたは [構成マネージャー] を使用します。You can change the target configuration by using the project property pages or the Configuration Manager.

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

関連項目See Also

マルチ ターゲットMultitargeting