Visual Studio のマルチ ターゲットの概要Visual Studio Multi-Targeting Overview

Visual StudioVisual Studio のこのバージョンでは、アプリケーションで必要とされる .NET Framework.NET Framework のバージョンを指定できます。In this version of Visual StudioVisual Studio, you can specify the version of the .NET Framework.NET Framework that is required for your application. したがって、Visual StudioVisual Studio のこのバージョンを使用して、以前のバージョンで開始したプロジェクトの開発を続ける場合は、対象のフレームワークを変更する必要はありません。Therefore, if you want to use this version of Visual StudioVisual Studio to continue to develop a project that you started in an earlier version, you do not have to change the framework target. 異なるバージョンのフレームワークを対象とする複数のプロジェクトを含むソリューションを作成することもできます。You could also create a solution that contains projects that target different versions of the framework. 特定のフレームワークを対象にする機能は、指定したバージョンのフレームワークで利用できる機能のみをアプリケーションで使用することを保証するのに役立ちます。Framework targeting also helps guarantee that the application uses only functionality that is available in the specified version of the framework.


異なるプラットフォームに対応する複数のアプリケーションを対象にすることもできます。You can also target applications for different platforms. 詳細については、「Multitargeting」(マルチターゲット) を参照してください。For more information, see Multitargeting

フレームワークの対象設定機能Framework Targeting Features

フレームワークの対象設定機能には、次の特徴があります。Framework targeting includes the following features:

  • 旧バージョンの .NET Framework.NET Framework を対象とするプロジェクトを開いたときに、Visual StudioVisual Studio でそのプロジェクトを自動的にアップグレードするか、前のバージョンを対象とした状態を維持することができます。When you open a project that targets an earlier version of the .NET Framework.NET Framework, Visual StudioVisual Studio can automatically upgrade it or leave the target as is.

  • プロジェクトを作成するときに、対象とする .NET Framework.NET Framework のバージョンを指定できます。When you create a project, you can specify the version of the .NET Framework.NET Framework that you want to target.

  • 既存のプロジェクトの対象となっている .NET Framework.NET Framework のバージョンを変更できます。You can change the version of the .NET Framework.NET Framework that an existing project targets.

  • 同じソリューション内にある複数のプロジェクトのそれぞれで、異なるバージョンの .NET Framework.NET Framework を対象とすることができます。You can target a different version of the .NET Framework.NET Framework in each of several projects in the same solution.

  • プロジェクトの対象となる .NET Framework.NET Framework のバージョンを変更すると、Visual StudioVisual Studio では、参照ファイルおよび構成ファイルに対して必要な変更が加えられます。When you change the version of the .NET Framework.NET Framework that a project targets, Visual StudioVisual Studio makes any required changes to references and configuration files.

    旧バージョンの .NET Framework.NET Framework を対象とするプロジェクトで作業する場合は、Visual Studio は開発環境で次のような変更を動的に行います。When you work on a project that targets an earlier version of the .NET Framework.NET Framework, Visual Studio dynamically changes the development environment, as follows:

  • [新しいプロジェクト][新しい項目の追加][新しい参照の追加][サービス参照の追加] の各ダイアログ ボックスの項目をフィルター処理して、対象のバージョンで使用できない選択肢を除外します。It filters items in the New Project dialog box, the Add New Item dialog box, the Add New Reference dialog box, and the Add Service Reference dialog box to omit choices that are not available in the targeted version.

  • ツールボックス内のカスタム コントロールをフィルター処理し、対象のバージョンで使用できないコントロールを除外したり、複数のコントロールが使用可能である場合に最新のコントロールのみを表示したりします。It filters custom controls in the Toolbox to remove those that are not available in the targeted version and to show the only the most up-to-date controls when multiple controls are available.

  • IntelliSense をフィルター処理して、対象のバージョンで使用できない言語機能を除外します。It filters IntelliSense to omit language features that are not available in the targeted version.

  • プロパティ ウィンドウのプロパティをフィルター処理して、対象のバージョンで使用できないプロパティを除外します。It filters properties in the Properties window to omit those that are not available in the targeted version.

  • メニュー オプションをフィルター処理して、対象のバージョンで使用できないオプションを除外します。It filters menu options to omit options that are not available in the targeted version.

  • ビルドを行う場合は、対象のバージョンに適したコンパイラのバージョンおよびコンパイラ オプションを使用します。For builds, it uses the version of the compiler and the compiler options that are appropriate for the targeted version.


フレームワークの対象機能は、開発中のアプリケーションが正しく実行されることを保証するわけではありません。Framework targeting does not guarantee that your application will run correctly. 対象のバージョンで実行できるかどうかを確認するために、アプリケーションをテストする必要があります。You must test your application to make sure it runs against the targeted version. .NET Framework 2.0 より前のバージョンのフレームワークを対象にすることはできません。You cannot target framework versions that are earlier than the .NET Framework 2.0.

対象フレームワークのバージョンの選択Selecting a Target Framework Version

プロジェクトを作成するときに、[新しいプロジェクト] ダイアログ ボックスで、対象の .NET Framework.NET Framework のバージョンを選択します。When you create a project, select the target .NET Framework.NET Framework version in the New Project dialog box. この選択内容に基づいて、使用できるプロジェクト テンプレートの一覧が抽出されます。The list of available project templates is filtered based on the selection. 既存のプロジェクトでは、プロジェクトのプロパティ ダイアログ ボックス内で、対象となる .NET Framework.NET Framework のバージョンを変更できます。In an existing project, you can change the target .NET Framework.NET Framework version in the project properties dialog box. 詳細については、「How to: Target a Version of the .NET Framework」(方法: .NET Framework のバージョンをターゲットにする) を参照してください。For more information, see How to: Target a Version of the .NET Framework.


Visual Studio Express Edition では、[新しいプロジェクト] ダイアログ ボックスで対象のフレームワークを設定することはできません。In Express editions of Visual Studio, you cannot set the target framework in the New Project dialog box.

システム参照およびユーザー アセンブリ参照の解決Resolving System and User Assembly References

.NET Framework の特定のバージョンを対象にするには、最初に適切なアセンブリ参照をインストールする必要があります。To target a .NET Framework version, you must first install the appropriate assembly references. .NET Framework Version 2.0、3.0、および 3.5 に対応するアセンブリ参照は、.NET Framework 3.5 SP1 に含まれています。これは、Microsoft ダウンロード センターの Microsoft Visual Studio Web サイトからダウンロードできます。Assembly references for the .NET Framework versions 2.0, 3.0, and 3.5 are included in the .NET Framework 3.5 SP1, which you can download from the Microsoft Download Center, Microsoft Visual Studio website. .NET Framework 3.5 Client Profile、.NET Framework 4、.NET Framework 4 Client Profile および Silverlight に対応するアセンブリ参照も、Visual Studio のダウンロード Web サイトから入手できます。Assembly references for the .NET Framework 3.5 Client Profile, the .NET Framework 4, the .NET Framework 4 Client Profile, and Silverlight are also available from the Visual Studio Downloads website.


.NET Framework クライアント プロファイルは、限定されたセットのライブラリと機能を備えた .NET Framework のサブセットです。A .NET Framework client profile is a subset of the .NET Framework that provides a limited set of libraries and features. クライアント プロファイルの詳細については、「.NET Framework Client Profile」を参照してください。For more information about client profiles, see .NET Framework Client Profile.

[参照の追加] ダイアログ ボックスでは、対象の .NET Framework.NET Framework のバージョンに関係しないシステム アセンブリが無効にされます。その結果、それらのアセンブリをプロジェクトに誤って追加することはありません The Add Reference dialog box disables system assemblies that do not pertain to the target .NET Framework.NET Framework version so that they cannot be added to a project inadvertently. (システム アセンブリとは、.NET Framework.NET Framework バージョンの一部である .dll ファイルのことです)。対象より新しいバージョンのフレームワークに属する参照は解決されず、そのような参照に依存するコントロールを追加することはできません。(System assemblies are .dll files that are included in a .NET Framework.NET Framework version.) References that belong to a framework version that is later than the targeted version will not resolve, and controls that depend on such a reference cannot be added. このような参照を有効にするには、プロジェクトの対象である .NET Framework.NET Framework を、その参照を含むバージョンに再設定します。If you want to enable such a reference, reset the .NET Framework.NET Framework target of the project to one that includes the reference. 詳細については、「方法: .NET Framework のバージョンをターゲットにする」を参照してください。For more information, see How to: Target a Version of the .NET Framework.

アセンブリ参照の詳細については、「Resolving Assemblies at Design Time」(デザイン時のアセンブリの解決) を参照してください。For more information about assembly references, see Resolving Assemblies at Design Time.

LINQ の有効化Enabling LINQ

.NET Framework Version 3.5 以降を対象にする場合は、System.Core の参照と System.Linq のプロジェクトレベル インポート (Visual Basic のみ) が自動的に追加されます。When you target the .NET Framework 3.5 or later, a reference to System.Core and a project-level import for System.Linq (in Visual Basic only) are added automatically. LINQ 機能を使用する場合は、[Option Infer] もオンにする必要があります (Visual Basic のみ)。If you want to use LINQ features, you must also turn Option Infer on (in Visual Basic only). 対象をそれより前のバージョンの .NET Framework に変更すると、この参照とインポートは自動的に削除されます。The reference and import are removed automatically if you change the target to an earlier .NET Framework version. 詳細については、「LINQ の使用」を参照してください。For more information, see Working with LINQ.

関連項目See Also

マルチターゲット Multitargeting
プラットフォームの互換性とシステム要件Platform compatibility and system requirements