BuildManager.TargetFramework プロパティ

定義

現在の Web サイトが対象とする .NET Framework のバージョンを取得します。

public:
 static property System::Runtime::Versioning::FrameworkName ^ TargetFramework { System::Runtime::Versioning::FrameworkName ^ get(); };
public static System.Runtime.Versioning.FrameworkName TargetFramework { get; }
member this.TargetFramework : System.Runtime.Versioning.FrameworkName
Public Shared ReadOnly Property TargetFramework As FrameworkName

プロパティ値

FrameworkName

現在の Web サイトが対象とする .NET Framework のバージョン。

注釈

このプロパティは、ASP.NET のマルチターゲット機能をサポートしています。これにより、最新バージョンの Visual Studio を使用して、以前のバージョンの .NET Framework で実行されるアプリケーションを開発できます。 ビルドプロバイダーは、このプロパティを使用して、対象となるバージョンの .NET Framework に適したコードがプロバイダーによって生成されるようにすることができます。 たとえば、Web サイトが .NET Framework 3.5 と .NET Framework 4 のどちらを対象としているかに応じて、異なるコードを生成することができます。 マルチターゲットの詳細については、「 ASP.NET Web プロジェクトのマルチターゲットの .NET Framework」を参照してください。

Web サイトに Web.config ファイルがない場合、ASP.NET は、ターゲットフレームワークのバージョンが、サイトが実行されている IIS アプリケーションプールに関連付けられているバージョンであることを前提としています。 Visual Studio で実行されているファイルシステム Web サイトの場合、既定のフレームワークバージョンは、.NET Framework の現在のバージョンです。

Web サイトに Web.config ファイルがある場合、ASP.NET は Web.config ファイルを調べてターゲットフレームワークを決定します。

.NET Framework 2.0 を対象とする Web サイト

.NET Framework 2.0 を対象とする Web アプリケーションは、ターゲットが .NET Framework 3.0 であるかのようにコンパイルされます。 ビルドプロセスでは、.NET Framework 2.0 と .NET Framework 3.0 を区別しません。これは、これらのバージョンのいずれかが対象になっている場合に、Web.config ファイルがコンパイラのバージョンまたはターゲットフレームワークを示していないためです。 (.NET Framework 3.5 の場合、Web.config ファイルはコンパイラのバージョンを指定し、.NET Framework 4 の場合、Web.config ファイルはターゲットフレームワークを指定します。)したがって、.NET Framework 2.0 を対象とする Web アプリケーションの場合、このプロパティは .NET Framework 3.0 を示すターゲットフレームワークモニカーを返します。

通常、これによって問題が発生することはありません。 Visual Studio では、.NET Framework 2.0 の対象となるプロジェクトの .NET Framework 3.0 機能への参照を作成できません。 たとえば、Visual Studio では、WCF が .NET Framework 3.0 で導入され、.NET Framework 2.0 と互換性がないため、.NET Framework 2.0 を対象とするプロジェクト内の WCF サービスの項目テンプレートは提供されません。

.NET Framework 2.0 の実行時環境に Web サイトをデプロイする予定で、Visual Studio 以外のツールを使用して .NET Framework 3.0 とのみ互換性のある機能を参照する場合、エラーや警告を生成せずにプロジェクトをビルドする可能性があります。 ただし、Web サイトが .NET Framework 2.0 で実行されていると、アプリケーションでエラーが発生する可能性があります。

適用対象