次の方法で共有


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; }
static member TargetFramework : System.Runtime.Versioning.FrameworkName
Public Shared ReadOnly Property TargetFramework As FrameworkName

プロパティ値

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

注釈

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

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 機能への参照を作成できなくなります。 たとえば、.NET Framework 2.0 を対象とするプロジェクトでは、.NET Framework 3.0 で WCF が導入され、.NET Framework 2.0 と互換性がないため、Visual Studio は WCF サービスの項目テンプレートを提供しません。

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

適用対象