.NET框架

-{zh-hans:.NET框架、平臺獨立性和網路透明化的軟體框架。.NET是微軟為2000年代對伺服器和桌上型軟體工程邁出的第一步。.NET包含許多有助於網際網路和內部網應用迅捷發的技術。.NET框架是微軟公司繼Windows DNA之後的新發平臺，採用系統虛擬機器執行，以通用語言執行庫的發。.NET也為應用程式介面的開發。.NET提供了一個新的反射性的且物件導向程式設計程式設計介面。.NET設計得足夠通用化從而使許多不同高階語言都得以被彙集。甲骨文公司的Java程式語言和Java平臺企業版技術是.NET平臺的競爭對手之一。2014年11月12日，微軟宣佈完全開放.NET Framework的原始碼，並提供給Linux和macOS使用。版本.發行歷史..NET Framework 1.0.完整版號 - 1.0.3705這是最早的.NET架構，於2002年發行。它可以以一個獨立且可重新分發的包的形式或在一個軟體發展工具包集中被獲得。它也是第一個微軟Visual Studio .NET的發行版的一部分。.NET Framework 1.1.完整版號 - 1.1.4322這是首個主要的.NET框架升級版本，發行於2003年。它可以以一個獨立的可重新分發的包的形式或在一個軟體發展工具包集中被獲得。它也是第二個微軟Visual Studio .NET版本的一部分。它也是首個被Windows作業系統-Windows Server 2003所內建的.NET框架版本。自1.0版本以來的改進：.NET Framework 2.0.完整版號 - 2.0.50727.42，發行於2005年10月27日。.NET Framework 2.0的元件都包含在 Visual Studio 2005和SQL Server 2005裡面。透過MSDN Universe版可以免費下載RTM版本。自1.1版本以來的改進：.NET Framework 3.0.釋出日期2006/11/21。曾用名「WinFX」。依然使用.NET Framework 2.0版本的公共語言執行庫，並加入了適應未來軟體發展方向的4個框架：.NET Framework 3.5.這個版本將包含一個支援C#和VB.Net中心的語言特性的編譯器，以及對語言整合查詢的支援。該版本隨Visual Studio 2008一起釋出。同時，.NET Framework 3.5自動包含.NET Framework 2.0 SP1以及.NET Framework 3.0 SP1，用於為這兩個版本提供安全性修復，以及少量新增的類庫，此版本提供的新功能有：.NET Framework 3.5 SP1..NET Framework 3.5 SP1自動包含.NET Framework 2.0 SP2以及.NET Framework 3.0 SP2。該版本隨Visual Studio 2008 SP1釋出，此版本提供了下列的新功能：.NET Framework 4.5..NET Framework 4.5是.NET Framework 4高相容性的置位更新。搭配C# 或Visual Basic程式設計語言使用.NET Framework 4.5，即可編寫Windows Store風格的應用程式。.NET Framework 4.5可提升效能、可靠度及安全性。於2012年8月15日推出。但請注意，.NET Framework 4.5只支援Windows Vista SP2以上版本的作業系統。.NET Framework 4.5.1..NET Framework 4.5.1於2013年10月17日隨著Visual Studio 2013發布。此版本需要Windows Vista SP2或更新的環境，並且包含在Windows 8.1和Windows Server 2012 R2中。.NET Framework 4.5.1的新功能有：.NET Framework 4.5.2..NET Framework 4.5.2的發表宣佈於2014年5月5日。此版本需要Windows Vista SP2及更新版本。對於Windows Forms應用程式，對高DPI方案進行了改進。對於ASP.NET，可以使用更高可靠性的HTTP開頭檢查和修改方法，這是一種規劃背景非同步工作任務的新方法。.NET Framework 4.6..NET Framework 4.6 是在2014年11月12月宣佈，而在2015年7月20日發行。 它對64位元系統支援一個新的即時編譯，稱之為 RyuJIT，呈現較佳的效能，並支援SSE2與AVX2指令集。WPF 與 Windows Forms 都獲得更新以達成較高的 DPI 情境。支援TLS 1.1 與 TLS 1.2 的功能已經被加入 WCF。 此版本需要Windows Vista SP2 或更新的版本。.NET Framework 4.6.1..NET Framework 4.6.1 發行的訊息在2015年11月30日宣佈。這個版本需要 Windows 7 SP1 或更新的版本。新的功能與 API 包括：.NET Framework 4.6.2..NET Framework 4.6.2 的預覽在2016年3月30日宣佈，發行日期則為2016年8月2日。此版本需要 Windows 7 SP1 或更新版。 New features include:.NET Framework 4.7.2017年4月5日，微軟宣佈 .NET Framework 4.7 將被整合到 Windows 10 創作者更新, 承諾為其他Windows版本提供獨立安裝程式。同日，發行一個 Visual Studio 2017 更新版以加強支援標的物 .NET Framework 4.7。 所承諾的 Windows 7 及更新版本獨立安裝程式在2017年5月2日發行， 但有一些重要成份不包含在內。.NET Framework 4.7 的新功能包括：.NET Framework 4.7.1..NET Framework 4.7.1 在2017年10月17日發行。在修復程式和新功能中，它修正了d3dcompiler依賴性問題。它還增加了與.NET Standard 2.0開箱即用的相容性。.NET Framework 4.7.2..NET Framework 4.7.2 在2018年4月30日發行。主要的異動是改進 ASP.NET、BCL、CLR、ClickOnce、Networking、SQL、WCF、Windows Forms、Workflow 及 WPF。CLR與CLI..NET的初級組成是CLI。CLI執行前，CLR必須將指令及時編譯轉換成原始機械碼。所有CLI都可經由.NET自我表述。CLR檢查元資料以確保正確的方法被呼叫。元資料通常是由語言編譯器生成的，但開發人員也可以透過使用客戶屬性建立他們自己的元資料。如果一種語言實現生成了CLI，它也可以透過使用CLR被呼叫，這樣它就可以與任何其他.NET語言生成的資料相互動。CLR也被設計為作業系統無關性。當一個彙編體被載入時，CLR執行各種各樣的測試。其中的兩個測試是確認與核查。在確認的時候，CLR檢查彙編體是否包含有效的元資料和CIL，並且檢查內部表的正確性。核查則不那麼精確。核查機制檢查程式碼是否會執行一些“不安全”的操作。核查所使用的演演算法非常保守，導致有時一些“安全”的程式碼也通不過核查。不安全的程式碼只有在彙編體擁有“跳過核查”許可的情況下才會被執行，通常這意味著程式碼是安裝在本機上的。透過.NET，你可以用SOAP和不同的web服務進行互動。標準化和版權.2000年8月，微軟、惠普和英特爾共同制定CLI和C#程式語言的標準規格。2001年12月，以上兩者透過並成為ECMA標準規格。。這會有一定的風險，但它可以鼓勵標準聯合的實現，以提供一座橋樑來把非Windows的軟體轉變為微軟.NET。將此推廣為標準的一個團體是國際.NET聯合會。儘管微軟及其他合作夥伴持有CLI及C#的專利，ECMA和ISO要求所有專利都應該遵守“合理與非歧視準則”。除此之外，這些公司亦同意讓使用者免費使用這兩項專利。不過，這並不包括.NET Framework內並不為ECMA/ISO標準涵蓋的範圍，這包括了：Windows Forms、ADO.NET及ASP.NET。微軟對上述部件所持有的專利，使開發者未必能夠為非微軟平臺開發出一套完整的作品。2014 年11月13日，微軟新任執行長薩帝亞·納德拉決心下，該公司釋出的--原始碼包含了伺服器部分的核心，如--和--，正式對外開放原始碼。.NET與Java EE.公共語言基礎和MSMQ等效的功能。Java和.NET可經由IKVM，一個在.NET平臺上實作的Java虛擬機器作更多的溝通。Java有其專門的遠端程式呼叫技術RMI, RMI的另一版本RMI-IIOP更可相容CORBA。然而，.NET與Java之間的競爭關係，在.NET Core出現後，一切都改觀了。.NET與COM.前一版軟體元件技術由Microsoft所提出的COM，該技術被用來建立大型。很明顯的，Microsoft最終將以.NET全面取代COM成為軟體元件的架構。#重定向.Net Remoting與XML WebServices..NET remoting屬於行程內溝通的抽象方法。Microsoft® .NET Remoting提供一個豐富可擴充的框架給存在兩個不同AppDomain中的Object，使得在不同行程和不同機器中能夠進行無縫地溝通。.NET Remoting提供一種強大但簡單的可程式化模型並且在執行階段支援資料交換。XML Web services將基礎的功能區塊佈署到網路的不同電腦上。開放標準的通訊協定以及人和應用程式可以透過Web Services整合應用程式的環境來合作。應用程式可以從不同的用多個XML Web Services來建構應用程式而不需要知道他們在哪裡以及如何來運作。.NET的語言.CLI被設計成支援任何物件導向的程式語言，分享共同物件模型與大型共同類別庫。.NET支援超過40種程式語言。這些編譯器大都是免費的。大部分的語言都做了重大改變以搭配.NET Framework。廠商通常利用這個機會來同時改變語言的其他特性。ASP.NET &amp; ADO.NET.ASP.NET是內含於.NET Framework中，專門用來發展Web應用程式的一組類別庫集。ADO.NET是內含於.NET Framework中，專門處理與資料通的資料存取類別庫集，被Windows Forms與ASP.NET應用程式大量使用，可說是.NET Framework中唯一的資料存取介面。可供選擇的實現版本.微軟的.NET Framework是.NET技術的旗艦級實現版本，在此之外還有一些其他實現版本。