搞懂.NET Framework 历史版本(2017年)
最近被.NET平台各种名词、以及各种版本弄得有些疑惑,开发和部署,对于开发平台版本选择是个基本问题,因此,花了些时间,学习汇总了有关.NET版本演进的历史。
.NET简介
这个平台相信我们都知道,不过随着技术发展,现在的.NET平台也今非昔比。
.NET平台类似Java平台,是微软于2000年推出的Windows操作系统的应用软件开发框架,发展至今形成巨大的技术栈,涉及多语言(支持C#、F#、VB.NET)多领域(Windows桌面软件、Web应用、移动开发等)软件开发,随着2014年,微软宣布.NET开源,支持Linux等平台,和Java平台一样实现了跨平台。
.NET平台技术关键词:
- .NET Core:.NET跨平台实现,支持Linux平台运行;
- C#、F#、VB:.NET平台支持的开发语言
- .NET Framework:.NET平台的Windows实现,提供公共语言运行时(类似虚拟机)和类库;
- ASP.NET:Windows下互联网web应用开发框架;
- Xamarin:跨平台移动开发框架,支持Android、iOS;
- Azure:微软云平台解决方案,支持云平台应用开发和部署;
- Roslyn:C# 和 Visual Basic语言编译器,F#有单独的编译器;
.NET Framework 版本相关问题
-
.NET Framework是.NET应用(包括Web、Windows、Phone、Server、Azure等)运行和开发的基础,主要包括公共语言运行时(CLR,类似虚拟机)和.NET Framework类库,提供内存管理、类型和内存安全、安全性、网络和应用部署服务,在Windows操作系统上抽象提供易于使用的数据结构和API,在其上支持C#、F#和VB多种语言开发;
-
.NET Framework新版本包含旧版本功能并增加特性,但CLR(公共语言运行时)具有自己独立的版本号,因此,.NET Framework发布新版本时,CLR版本号仍可能保持不变。例如.NET Framework 4,4.5,4.6,4.7都是包含CLR 4, .NET Framework 2.0,3.0,3.5包含CLR 2.0版本,注意CLR 3.0没有该版本号;
-
程序编译目标程序集版本要求为4.5.1,当前计算机上只有4.5版本时,该程序被阻止运行,提醒用户下载.NET Framework 4.5.1版本安装;程序编译目标为版本4的,可以在4以上版本运行;高版本的程序不能在低版本的.NET Framework上运行;
-
.NET Framework 4 开始采用新升级方式(理解是全量独立的程序包),支持Side-by-side 并排运行多个版本的组件和CLR,多个应用部署在同一台计算机可以各自选择特定版本的 NET Framework 运行, .NET 4之前的2.0,3.0,3.5采用增量升级方式,新版本建立在旧版本上,是一种分层的概念,例如同一台计算机上安装3.5时,会自动安装2.0层、3.0层、3.5层,此时面向2.0,3.0.3.5的所有程序集只能运行在3.5版本上,2.0程序集无法选择运行在2.0层;默认情况下,.net 2.0程序无法直接在.net 4.0上运行,须要安装.net 2.0或者3.0,3.5框架;
.NET Framework 版本历史
注意:
- 操作系统支持一列中+号表示要自行安装,没有+号表示内部自带**
- 向下兼容运行理解:2.0版本的程序可以在.net framwork 2.0,3.0,3.5上运行;4.0的程序可以在4.5,4.5.1,4.5.2,4.6,4.6.1+上运行;
版本号 | CLR版本 | 发布时间 | 服务截止时间 | 开发工具版本 | 桌面操作系统支持 | 服务器操作系统支持 | 向下兼容运行 |
---|---|---|---|---|---|---|---|
1.0 | 1.0 | 2002-02-13 | 2009-07-14 | Visual Studio .NET | XP[可安装] | N/A | N/A |
1.1 | 1.1 | 2003-04-24 | 无 | Visual Studio .NET 2003 | N/A | 2003 | 1.0 |
2.0 | 2.0 | 2005-11-07 | 2011-07-12 | Visual Studio 2005 | N/A | 2003, 2003 R2,2008 SP2, 2008 R2 SP1 | N/A |
3.0 | 2.0 | 2006-11-06 | 2011-07-12 | Expression Blend | Vista | 2008 SP2, 2008 R2 SP1 | 2.0 |
3.5 | 2.0 | 2007-11-19 | 2011-07-12 | Visual Studio 2008 | 7, 8+, 8.1+, 10+ | 2008 R2 SP1 | 2.0, 3.0 |
4.0 | 4 | 2010-04-12 | 2016-01-12 | Visual Studio 2010 | N/A | N/A | N/A |
4.5 | 4 | 2012-08-15 | 2016-01-12 | Visual Studio 2012 | 8 | 2012 | 4.0 |
4.5.1 | 4 | 2013-10-17 | 2016-01-12 | Visual Studio 2013 | 8.1 | 2012 R2 | 4.0, 4.5 |
4.5.2 | 4 | 2014-05-05 | N/A | N/A | N/A | N/A | 4.0–4.5.1 |
4.6 | 4 | 2015-07-20 | N/A | Visual Studio 2015 | 10 | N/A | 4.0–4.5.2 |
4.6.1 | 4 | 2015-11-30 | N/A | Visual Studio 2015 Update 1 | 10 v1511 | N/A | 4.0–4.6 |
4.6.2 | 4 | 2016-08-02 | N/A | 10 v1607 | 2016 | 4.0–4.6.1 | |
4.7 | 4 | 2017-04-05 | N/A | Visual Studio 2017 | 10 v1703 | N/A | 4.0–4.6.2 |