上个星期看到了.NET 4.0框架退休日期逐渐临近文章,发现自己一直在使用NET FrameWork,身为一个NET程序员,里面大概的区别自己还是知道的,但是自己要说出个所以然来了,发现还是有点力不从心,当时关于这几个版本之间的有很多,目前很多地方都只是写到了4.5,关于4.5.1,4.5.2这两个版本提及的还是非常少的,相对来说,自己写这篇文章也就没有回锅肉的嫌疑,正文开始吧:
.NET Framework由微软开发的一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。.NET是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。.NET包含许多有助于互联网和内部网应用迅捷开发的技术。
.NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。
.NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。
1.0发布于2002年是NET最早的一个版本,是第一个微软Visual Studio .NET的发行版的一部分(Visual Studio .NET 2002)。可以以一个独立且可重新分发的包的形式或在一个软件发展工具包集中被获得,不能安装在用户操作系统和服务器操作系统上。
CLR:1.0
操作系统(安装):无
服务器操作系统(安装):无
1.1是对1.0框架的升级版本,发行于2003年,比1.0晚了一年,包含在Visual Studio 2003中。 相对于1.0版本的改进: 自带了对mobile asp .net控件的支持,安全方面使Windows窗体代码以可靠的行为运行,从而可以在Internet环境内安全运行,并且加入了ASP .NET应用程序的代码安全访问功能。自带了对ODBC和Oracle数据库的支持。同时新增了.NET Compact Framework技术,用于智能设备(例如Pocket PC或者SmartPhone)。增加了对IPv6的支持,变更了大量的API。
CLR:1.1
操作系统(安装):无
服务器操作系统(安装):Window Server 2003
2.0
很多人都怀念的一个框架,.NET框架 2.0的组件都包含在 Visual Studio 2005和SQL Server 2005里面。首次实现了对64位平台的支持,在的很多程序所用到的功能基本上2.0都提供了技术支持,这个框架被众多的怀念也不是没有道理的.
WinForm
做过WinForm开发的应该对这个DataGridView 控件不会陌生,它是2.0为Winform提供的一个表格控件,为了更好的操作数据。窗体中加载网页提供的WebBrowser控件, 分割窗体提供的SplitContainer 控件,为解决后台费很长时间的(图像下载或者数据库事务 )提供的BackgroundWorker 组件.
ASP.NET
2.0 版本的ASP.NET 已经得到很大的改进,大多数常见 Web 应用程序开箱都可以找到。建立网站和网页并维持其运行比以前变得更加简单,而且使用的代码比以前更少。这样提高了程序员的开发效率,同时也降低了做Donet的程序员基础知识相对薄弱一点。母版页,ViewState,缓存(Cache)新功能加入了ASP.NET体系,控件方面也加入用于显示和编辑数据的 GridView((GridView 控件取代了以前版本的 ASP.NET 中的 DataGrid 控件))、DetailsView、FormView 控件。
ADO.NET
ADO.NET 中的新功能包括对用户定义类型 (UDT)、异步数据库操作、XML 数据类型、大值类型和快照隔离的支持,以及对允许应用程序通过 SQL Server 2005 支持多活动结果集 (MARS) 的新属性的支持.
2.0支持FTP,增强了I/O读写,SMTP支持,提供了新的 XSL 转换 (XSLT) 处理器,Web服务等功能,有几个功能需要稍微提一下:
COM Interop 服务增强功能
调试器显示属性
可以控制当调试应用程序时 Visual Studio 显示类或成员的方式,调试器的显示属性功能使您能够标识要在调试器中显示的最有用的信息(对于现在来说是很正常不过的一个事情)
调试器编辑并继续支持
编辑并继续
NET Framework 2.0 重新引入了“编辑并继续”功能,该功能使在 Visual Studio 中调试应用程序的用户能够在以中断模式执行的同时更改源代码。在应用对源代码所做的编辑之后,用户可以继续执行代码并观察效果。而且,“编辑并继续”功能在 Visual Studio 所支持的任何编程语言中都可用。
CLR:2.0
操作系统(安装):无
服务器操作系统(安装):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1
3.0
.NET框架 3.0 发布日期2006/11/21,曾用名“WinFX”。加入了适应未来软件发展方向的4个框架:
Windows Presentation Foundation(WPF):提供更佳的用户体验,用来开发Windows Forms程序以及流览器应用程序,主要是用于表现层UI.(跟Winform有点类似,但不一样)
Windows Communication Foundation(WCF):提供SOA(面向服务的软件构架)支持的安全的网络服务(Web Service)框架,主要解决 程序之间的通信问题.
Windows Workflow Foundation(WF):提供一个设计与发展工作流程导向(Workflow-oriented)应用程序基础支持的应用程序接口,主要是控制程序之间的逻辑转换。
Windows CardSpace:提供一个SSO的解决方案,每个用户都有各自的CardSpace。(没用过,不是很了解)
按照微软的这个设计思路,WPF用于UI表现,WCF用于程序之间的通信,WF用于程序之间的逻辑控制,这样程序员什么都不用愁了,事实是大家基本上最后悔用到其中的一两个.
.NET框架 3.0 SP1随.NET框架 3.5同时发行,.NET框架 3.0 SP2随.NET框架 3.5 SP1同时发行。
CLR:2.0
操作系统(安装):Vista(内置)
服务器操作系统(安装):Window Server 2003,Window Server 2008 SP2(内置),Window Server 2008 R2 SP1(内置)
3.5
该版本随Visual Studio 2008一起发布,现在还具有很强大的生命力,功能相对2.0增加了不少:
ASP.NET
新增了ListView 数据控件和LinqDataSource 控件,ListView 数据控件用于显示数据,类似于 DataList 和 Repeater 控件。与这两种控件不同的是,ListView 控件支持编辑、插入和删除操作,还支持排序和分页操作。分页功能是由新的 DataPager 控件为 ListView 提供的。(初学的时候用过,已经很久没用),LinqDataSource 控件通过 ASP.NET 数据源控件结构公开语言集成查询 (LINQ).
支持基于服务器的 AJAX 开发的服务器控件。这些控件包括 ScriptManager、UpdatePanel、UpdateProgress 和 Timer 控件。通过这些控件,使用很少客户端脚本,甚至不使用客户端脚本,就可以创建丰富的客户端行为(例如,部分页呈现和在异步回发过程中显示更新进度)。
LINQ
语言集成查询 (LINQ) 是 Visual Studio 2008 和 .NET Framework 3.5 中的新功能。LINQ 将强大的查询功能扩展到 C# 和 Visual Basic 的语言语法中,并采用标准的、易于学习的查询模式。可以对此技术进行扩展以支持几乎任何类型的数据存储。.NET Framework 3.5 包含 LINQ 提供程序程序集,这些程序集支持使用 LINQ 来查询 .NET Framework 集合、SQL Server 数据库、ADO.NET 数据集和 XML 文档(LINQ to Object、LINQ to ADO .NET以及LINQ to XML表达式目录树Expression Tree)。
.NET Framework 3.5 统一了 Windows Workflow Foundation (WF) 和 Windows Communication Foundation (WCF) 框架,以便可以使用 WF 作为一种创作 WCF 服务的方式或将现有 WF 工作流作为服务公开。.NET Framework 3.5 还引入了对 WCF 服务的支持,这些服务使用 WF 持久模型来保存服务的状态信息。这些持久性服务将其状态信息保存在应用程序层上,以便在取消然后重新创建会话时,可以从持久存储区中重新加载该服务的状态信息。可以创建基于 ASP.NET (.asmx) 和 WCF 的 Web 服务,.NET Framework 3.5 版 还与 IIS 7.0 集成。
同时,.NET框架 3.5自动包含.NET框架 2.0 SP1以及.NET框架 3.0 SP1,用于为这两个版本提供安全性修复,以及少量新增的类库(如System.DateTimeOffest)。
CLR:2.0
操作系统(安装):Vista,Window 7(内置),Window 8(内置),Window 8.1(内置)
服务器操作系统(安装):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1(内置),Window Server 2012,Window Server 2012 R2
4.0
ASP.NET
WPF
WCF
WCF REST
WF
ADO.NET
ADO.NET 提供了一些用于 Entity Framework 的新功能,其中包括持久性未知对象、LINQ 查询中的函数以及自定义对象层代码生成。
CLR:4
操作系统(安装):Vista,Window 7
服务器操作系统(安装):Window Server 2003,Window Server 2008 SP2,Window Server 2008 R2 SP1
框架每次升级的时候基本上就是为前面的设计的失误或者根据开发人员实际开发中常用的东西封装,不过4.5最大的亮点就是支持移动开发,开发Window Phone应用,为有的人带来了机遇,更多的人则被掉里面去在慢慢的往外爬,其他功能也进行了变更,具体的新增功能可参考:http://msdn.microsoft.com/zh-cn/library/ms171868(v=vs.110).aspx
CLR:4
操作系统(安装):Vista,Window 7,Window 8(内置)
服务器操作系统(安装):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012
EF 和 ADO.NET 现在对连接失败的情况容错性更好,比如以前连接服务器的时候,服务器突然挂了,直接抛异常,新框架中一旦网络连接得以恢复,应用程序就会监测到它,并继续之前的工作。
ASP.NET 应用现在可以自动挂起了。实际运行的 ASP.NET 工作进程(worker process)将被挂起为可随时唤醒的状态,这能够节省 90% 的启动时间。当应用程序处于空闲状态一段时间后,它将会被分页到磁盘,一旦某个请求到来或是完成,它将被唤醒。可以在 IIS 配置中将 Time-out Action 这一项设置为“挂起”以实现这一功能。
CLR:4
操作系统(安装):Vista,Window 7,Window 8,Window 8.1(内置)
服务器操作系统(安装):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012 ,Window Server 2012 R2(内置)
详情可参考:http://blogs.msdn.com/b/dotnet/archive/2013/06/26/announcing-the-net-framework-4-5-1-preview.aspx
ASP.NET 网络应用提供了新的API。新HttpResponse,AddOnSendingHeaders和HttpResponseBase。AddOnSendingHeaders方法检查和修改响应头和状态码响应客户端程序的清酒,用来代替方法PreSendRequestHeaders和PreSendRequestContent方法。
调整在Windows窗体控件。可以使用系统DPI设置调整组件以下额外的控件(例如,在组合框的下拉箭头):
可选特性,在配置文件中设置EnableWindowsFormsHighDpiAutoResizing:
1 <appSettings> 2 <add key="EnableWindowsFormsHighDpiAutoResizing" value="true" /> 3 </appSettings>
CLR:4
操作系统(安装):Vista,Window 7,Window 8,Window 8.1
服务器操作系统(安装):Window Server 2008 SP2,Window Server 2008 R2 SP1,Window Server 2012 ,Window Server 2012 R2
最后用一张图来总结一下吧(网络图片):
基本上Dotnet FrameWork每个版本都可以写成一大篇文章,本文难免有理解不到位,或者理解错误的地方,如果不当,请各位多多包涵,理性指出~
http://msdn.microsoft.com/en-us/library/bb822049(v=vs.110).aspx