上個星期看到了.NET 4.0框架退休日期逐漸臨近文章,發現本身一直在使用NET FrameWork,身爲一個NET程序員,裏面大概的區別本身仍是知道的,可是本身要說出個因此然來了,發現仍是有點力不從心,當時關於這幾個版本之間的有不少,目前不少地方都只是寫到了4.5,關於4.5.1,4.5.2這兩個版本說起的仍是很是少的,相對來講,本身寫這篇文章也就沒有回鍋肉的嫌疑,正文開始吧:html
.NET Framework由微軟開發的一個致力於敏捷軟件開發(Agile software development)、快速應用開發(Rapid application development)、平臺無關性和網絡透明化的軟件開發平臺。.NET是微軟爲下一個十年對服務器和桌面型軟件工程邁出的第一步。.NET包含許多有助於互聯網和內部網應用迅捷開發的技術。程序員
.NET框架是微軟公司繼Windows DNA以後的新開發平臺。.NET框架是以一種採用系統虛擬機運行的編程平臺,以通用語言運行庫(Common Language Runtime)爲基礎,支持多種語言(C#、VB、C++、Python等)的開發。web
.NET也爲應用程序接口(API)提供了新功能和開發工具。這些革新使得程序設計員能夠同時進行Windows應用軟件和網絡應用軟件以及組件和服務(web服務)的開發。.NET提供了一個新的反射性的且面向對象程序設計編程接口。.NET設計得足夠通用化從而使許多不一樣高級語言都得以被聚集。數據庫
1.0發佈於2002年是NET最先的一個版本,是第一個微軟Visual Studio .NET的發行版的一部分(Visual Studio .NET 2002)。能夠以一個獨立且可從新分發的包的形式或在一個軟件發展工具包集中被得到,不能安裝在用戶操做系統和服務器操做系統上。編程
CLR:1.0api
操做系統(安裝):無跨域
服務器操做系統(安裝):無數組
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