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. たとえば、80x86 プロセッサ ファミリ ("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 80x86 processor family ("x86"). ターゲット フレームワークとターゲット プラットフォームの組み合わせはターゲット コンテキストと呼ばれます。The combination of target framework and target platform is known as the target context.


この記事では、ターゲット フレームワークを指定するための従来の方法を示します。This article shows the old way to specify a target framework. SDK スタイルのプロジェクトでは、netstandard のようなさまざまな TargetFrameworks が有効になります。SDK-style projects enable different TargetFrameworks like netstandard. 詳細については、「ターゲット フレームワーク」をご覧ください。For more info, see Target frameworks.

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

ターゲット フレームワークとは、ビルドするプロジェクトの実行対象とする .NET Framework の特定のバージョンを意味します。A target framework is the particular version of the .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 2.0 (Visual Studio 2005 に付属)The .NET Framework 2.0 (included in Visual Studio 2005)

  • .NET Framework 3.0 (Windows Vista に付属)The .NET Framework 3.0 (included in Windows Vista)

  • .NET Framework 3.5 (Visual Studio 2008 に付属)The .NET Framework 3.5 (included in Visual Studio 2008)

  • .NET Framework 4.5.2The .NET Framework 4.5.2

  • .NET Framework 4.6 (Visual Studio 2015 に付属)The .NET Framework 4.6 (included in Visual Studio 2015)

  • .NET Framework 4.6.1The .NET Framework 4.6.1

  • .NET Framework 4.6.2The .NET Framework 4.6.2

  • .NET Framework 4.7The .NET Framework 4.7

  • .NET Framework 4.7.1The .NET Framework 4.7.1

  • .NET Framework 4.7.2The .NET Framework 4.7.2

  • .NET Framework 4.8The .NET Framework 4.8

.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.5.2v4.6v4.6.1v4.6.2v4.7v4.7.1v4.7.2、および v4.8 です。The available values for TargetFrameworkVersion are v2.0, v3.0, v3.5, v4.5.2, v4.6, v4.6.1, v4.6.2, v4.7, v4.7.1, v4.7.2, and v4.8.


目標一覧表はターゲット フレームワークのサブセットです。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.


ターゲット プロファイルは、ポータブル クラス ライブラリにのみ適用されます。Target profiles apply only to portable class libraries.

ターゲット プロファイルは、プロジェクト ファイルの 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.


ターゲット プラットフォーム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.

  • x64 は、Intel x64 プロセッサまたはそれに相当するプロセッサで実行されている 64 ビット Windows オペレーティング システムを示しています。x64 designates a 64-bit Windows operating system that is running on an Intel x64 processor or it 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. ターゲット プラットフォームは、プロジェクト ファイルの PlatformTarget ビルド プロパティで指定されます。The target platform is specified in the PlatformTarget 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.


ターゲット構成はターゲット プラットフォームのサブセットです。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.


関連項目See also