.NET Framework 版本和依赖关系
每个版本的 .NET framework 都包含公共语言运行时 (CLR)、基类库和其他托管库。 本主题按版本介绍了 .NET Framework 的关键功能,提供了有关基础 CLR 版本和相关开发环境的信息,并标识了 Windows 操作系统所安装的版本。
每个新版本的 .NET Framework 都会保留早期版本中的功能并会添加新功能。 CLR 由其自己的版本号确定的。 虽然 CLR 版本不总是递增,但是 .NET Framework 版本号在每次释放时会递增。 例如,.NET Framework 4、4.5 和 4.5.1 包含 CLR 4,而 .NET Framework 2.0、3.0 和 3.5 包含 CLR 2.0。(没有版本 3 的 CLR。)
通常,你不应卸载计算机上安装 .NET Framework 的任何版本,因为你使用的应用程序可能取决于特定版本,并且可能中断,如果移除该版本。 你可以同时在一台计算机上加载 .NET Framework 的多个版本。 这意味着可以安装 .NET Framework,而无需卸载旧版本。 有关更多信息,请参见 .NET Framework 入门。
.NET Framework 4.5 是替代你计算机上的 .NET Framework 4 的一个就地更新,同样地,.NET Framework 4.5.1 是 .NET Framework 4.5 的一个就地更新。 在安装这些更新中的其中一个后,你的 .NET Framework 4 或 .NET Framework 4.5 应用程序在无需重新编译的情况下应继续运行。 但是,反之则不行。 我们不建议在 .NET Framework 4.5 上运行面向 .NET Framework 4.5.1 应用程序。 采用下面的规则:
-
在 Visual Studio 2013,可以选择 .NET Framework 4.5 作为项目的目标框架(这组 GetReferenceAssemblyPaths.TargetFrameworkMoniker 属性)可编译项目为 .NET Framework 4.5 程序集或可执行文件。 此程序集或可执行文件可随后用于任何安装有 .NET Framework 4.5 或 .NET Framework 4.5.1 的计算机。
-
在 Visual Studio 2013,可以选择 .NET Framework 4.5.1 作为项目的目标框架(这组 GetReferenceAssemblyPaths.TargetFrameworkMoniker 属性)可编译项目为 .NET Framework 4.5.1 程序集或可执行文件。 此程序集或可执行文件只能在安装有 .NET Framework 4.5.1 的计算机上运行。 面向 .NET Framework 4.5.1 的可执行文件会受到阻止,不能在只安装了 的计算机上运行,并且系统会提示用户安装 .NET Framework 4.5.1。 此外,不应从 .NET Framework 4.5 应用程序中调用 .NET Framework 4.5.1 程序集。
.NET Framework 中的某些更改可能需要更改你的应用程序代码;请先参见 .NET Framework 4.5 中的应用程序兼容性,然后再使用 .NET Framework 4.5 或 .NET Framework 4.5.1 运行现有应用程序。 有关安装当前版本的更多信息,请参见安装 .NET Framework 4.5、4.5.1。 有关对 .NET Framework 的支持的信息,请参见 Microsoft 支持网站上的 Microsoft .NET Framework 支持生命周期策略。
.NET Framework 版本 2.0、3.0 和 3.5 是使用 CLR (CLR 2.0) 的相同版本生成的。 这些版本表示单个安装的连续层。 每个版本增量地生成在早期版本的顶部。 在计算机上不可能并排运行版本 2.0、3.0 和 3.5。 当安装 3.5 版时,自动获得 2.0 和 3.0 层,为 2.0、3.0 和 3.5 版创建的应用程序均可在 3.5 版上运行。 但是,NET Framework 4 关闭此分层方法,2.0 生成的应用程序同样如此。3.0 或 3.5 在 4 版或更高版本上不起作用。 以 .NET Framework 4 开始,可使用进程内并行承载来在单独的进程中运行多个公共语言运行时 (CLR) 版本。 有关更多信息,请参见程序集和并行执行。
此外,如果你的应用程序面向 2.0、3.0 或 3.5 版,你的用户可能需要在运行应用程序前在 Windows 8 或 Windows 8.1 预览版 计算机上启用 .NET Framework 3.5。 有关更多信息,请参见在 Windows 8 或 8.1 上安装 .NET Framework 3.5。
在安装最新版本的 .NET Framework 或 CLR 之前不必安装它们的早期版本。
下表对应 .NET Framework、CLR 和版本和 Visual Studio 版本,并提供每个版本的简要评审。 注意 Visual Studio 提供多目标锁定功能,你将不再只能使用所列版本的 .NET Framework。
.NET Framework 版本 |
引入 IDE |
说明 |
---|---|---|
4.5.1 |
Visual Studio 2013 |
包括性能和调试改进、支持自动绑定重定向以及 Windows 应用商店应用的扩展支持。 |
4.5 |
Visual Studio 2012 |
包括 CLR 4 的更新版本,支持生成 Windows 应用商店应用并更新至 WPF、WCF、WF 和 ASP.NET。 |
4 |
Visual Studio 2010 |
包含新版本的 CLR、扩展的基类库和新功能(如 Managed Extensibility Framework (MEF)、动态语言运行时 (DLR) 和代码协定)。 |
3.5 |
Visual Studio 2008 |
添加了新功能,如支持 AJAX 的网站和 LINQ。 SP1 更新添加了动态数据和少量附加增强功能。 |
3.0 |
Visual Studio 2005 |
此版本实质上是添加了 Windows Presentation Foundation (WPF)、Windows Communications Foundation (WCF)、Windows Workflow Foundation (WF) 和 CardSpace 的 .NET Framework 2.0。 使用 SP1 和 SP2 进行了更新。 |
2.0 |
Visual Studio 2005 |
引入了新版本的 CLR,并为基类库增添了内容,包括泛型、泛型集合以及为 ASP.NET 增添的重要内容。使用 SP1 和 SP2 更新了此版本。 |
1.1 |
Visual Studio .NET 2003 |
包含对 ASP.NET 和 ADO.NET 的更新。 随后使用 Service Pack 1 (SP1) 和 SP2 将此版本更新了 2 次。 此版本还引入了并行执行,这将使单台计算机上的应用程序可对多个版本的 CLR 运行。 |
1.0 |
Visual Studio .NET |
包含第一个版本的 CLR 和第一个版本的基类库。 |
某些版本的 .NET Framework 会自动随 Windows 操作系统一起安装,而其他版本的 .NET Framework 必须单独安装。 下表为客户端操作系统标识了 .NET Framework 的安装和支持版本。
客户端操作系统 |
包括 |
还可以安装 |
---|---|---|
Windows 8.1 预览版 |
.NET Framework 4.5.1 |
.NET Framework 3.5 SP1(请参见在 Windows 8 或 8.1 上安装 .NET Framework 3.5)
|
Windows 8 |
.NET Framework 4.5 |
.NET Framework 4.5.1、.NET Framework 3.5 SP1(请参见在 Windows 8 或 8.1 上安装 .NET Framework 3.5) |
Windows 7 SP1 |
.NET Framework 3.5 SP1 |
.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4 |
Windows Vista SP2 |
.NET Framework 3.0 SP2 |
.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4, .NET Framework 3.5 SP1 |
Windows XP Professional 和 Windows XP Home Edition |
— |
.NET Framework 4、.NET Framework 3.5 SP1、.NET Framework 2.0 SP2 |
下表为服务器操作系统提供类似的信息。
服务器操作系统 |
包括 |
还可以安装 |
---|---|---|
Windows Server 2012 R2 预览版 |
.NET Framework 4.5.1 |
.NET Framework 3.5 SP1 |
Windows Server 2012 |
.NET Framework 4.5 |
.NET Framework 4.5.1, .NET Framework 3.5 SP1 |
Windows Server 2008 R2 SP1 |
.NET Framework 2.0 SP2(默认情况下启用),.NET Framework 3.5 SP1*、.NET Framework 3.0 SP2* |
.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4 |
Windows Server 2008 SP2 |
.NET Framework 2.0 SP2(默认情况下启用)、.NET Framework 3.0 SP2* |
.NET Framework 4.5.1, .NET Framework 4.5, .NET Framework 4, .NET Framework 3.5 SP1 |
Windows Server 2003 |
.NET Framework 2.0 SP2 |
.NET Framework 4、.NET Framework 3.5 SP1、.NET Framework 3.0 SP2 |