BuildManager.TargetFramework 属性

定义

获取当前网站的 .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

属性值

当前网站的 .NET Framework 的目标版本。

注解

此属性支持 ASP.NET 多目标功能,使你能够使用最新版本的 Visual Studio 开发将与早期版本的 .NET Framework 一起运行的应用程序。 生成提供程序可以使用此属性来确保提供程序生成适用于目标版本的 .NET Framework 的代码。 例如,根据网站是面向 .NET Framework 3.5 还是 .NET Framework 4,可能需要生成不同的代码。 有关多目标的详细信息,请参阅 适用于 ASP.NET Web 项目的 .NET Framework 多目标

如果网站没有 Web.config 文件,ASP.NET 假定目标框架版本是与运行站点的 IIS 应用程序池关联的版本。 对于在 Visual Studio 中运行的文件系统网站,默认框架版本是 .NET Framework 的当前版本。

如果网站具有 Web.config 文件,ASP.NET 通过检查 Web.config 文件来确定目标框架。

面向 .NET Framework 2.0 的网站

将编译面向 .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 不为面向 .NET Framework 2.0 的项目中的 WCF 服务提供项模板,因为 WCF 是随 .NET Framework 3.0 一起引入的,与 .NET Framework 2.0 不兼容。

如果计划在 .NET Framework 2.0 运行时环境中部署网站,并使用 Visual Studio 以外的工具引用仅与 .NET Framework 3.0 兼容的功能,则生成项目时可能会生成错误或警告。 但是,当网站在 .NET Framework 2.0 上运行时,应用程序可能会生成错误。

适用于