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

MSBuildを使用して、複数のバージョンの.NET Frameworkでは、いくつかのシステム プラットフォームのいずれかで実行されるアプリケーションをコンパイルできます。たとえば、32ビット プラットフォームで.NET Framework 2.0で実行するアプリケーションをコンパイルし、64ビット プラットフォームの.NET Framework 4.5で実行されている同じアプリケーションをコンパイルします。

重要 : 重要

」マルチ ターゲット名前に関係なく「プロジェクトは、1種類のフレームワークと1プラットフォームにターゲットにすることができます。

これらは、を対象とするMSBuildの機能の一部です:

  • たとえば、.NET Framework Version 2.0、3.5、または4.の旧バージョンを対象とするアプリケーションを開発できます。

  • .NET Framework以外のSilverlightフレームワークなどのフレームワークを対象にできます。

  • ターゲット フレームワークの定義済みのサブセットであるフレームワーク プロファイルを対象にできます。

  • .NET Frameworkの現在のバージョンのService Packがリリースされた場合、それを対象にできます。

  • アプリケーションが対象とするフレームワークとプラットフォームで使用できる機能だけを使用すると、MSBuildによって対象とする保証します。

ターゲット フレームワークとプラットフォーム

ターゲット フレームワークは、プロジェクトが実行するビルド ターゲット プラットフォームは、 プロジェクト システムが実行するビルドのプラットフォーム、.NET Frameworkのバージョンです。たとえば、802x86プロセッサ ファミリ (x86) と互換性のある32ビット プラットフォームで動作する.NET Framework 2.0アプリケーションを対象とする場合があります。ターゲット フレームワークとターゲット プラットフォームの組み合わせは ターゲットのコンテキストと呼ばれます。詳細については、「MSBuild ターゲット フレームワークおよびターゲット プラットフォーム」を参照してください。

ツールセット (ToolsVersion)

ツールセットはアプリケーションの作成に使用するツール、タスクおよびターゲットをまとめて収集します。ツールセットには、csc.exe や vbc.exe などのコンパイラ、共通 targets ファイル (microsoft.common.targets)、および共通 tasks ファイル (microsoft.common.tasks) が含まれています。4.5ツールセットが.NET Framework Version 2.0、3.0、3.5、4、および4.5を対象にすることができます。ただし、.NET Framework Version 2.0を対象とする場合にのみ、2.0ツールセットを使用できます。詳細については、「MSBuild ツールセット (ToolsVersion)」を参照してください。

参照アセンブリ

ツールセットのヘルプで指定された参照アセンブリはアプリケーションの設計および作成。これらの参照アセンブリはだけでなく、ターゲットのビルドを有効にしますが、ターゲットと互換性のある、Visual Studio IDEのコンポーネントと機能を制限します。詳細については、「デザイン時のアセンブリの解決」を参照してください。

構成のターゲットとタスク

を実行しているかまったく異なるコンテキストを対象にできるように、MSBuildの手順を実行するMSBuildターゲットとタスクを構成できます。たとえば、開発用コンピューターで64ビットで実行されている間、32ビットのを.NET Framework 2.0アプリケーションは、.NET Framework 4.5のオペレーティング システムを対象とすることができます。詳細については、「ターゲットとタスクの構成」を参照してください。

トラブルシューティング

対象のコンテキストの一部ではないアセンブリを参照しようとすると、エラーが発生する場合があります。これらのエラーに関する詳細情報のためについてすること .NET Framework を対象とするエラーのトラブルシューティングを参照してください。