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

属性值

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 将假定目标 framework 版本是与运行网站的 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 上运行时,应用程序可能会生成错误。

适用于