實現目標
提供一個一致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在 Internet 上分布,或者是在遠程執行的。
提供一個將軟體部署和版本控制衝突最小化的代碼執行環境。
提供一個可提高代碼(包括由未知的或不完全受信任的第三方創建的代碼)執行安全性的代碼執行環境。
提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。
使開發人員的經驗在面對類型大不相同的應用程式(如基於 Windows 的應用程式和基於 Web 的應用程式)時保持一致。
按照工業標準生成所有通信,以確保基於 .NET Framework 的代碼可與任何其他代碼集成。
.NET Framework現主要由以下幾部分組成:
(1).包括五種正式的語言編譯器(C#,Visual Basic,託管 C++,J#和Jscript 腳本語言等).
(2).框架類庫(Framework Class Library,FCL)由很多相關互聯的類庫組成,支持Windows應用程式.Web應用程式.Web服務和數據訪問等的開發.
(3).公共語言運行庫(Common Language Runtime,CLR)是處於,NET核心Framework的面向對象的引擎,其將各種語言編譯器生成的中間代碼編譯為執行應用程式所需要的原生碼(native code).
組件
公共語言運行庫和 .NET Framework 類庫。公共語言運行庫是 .NET Framework 的基礎。您可以將運行庫看作一個在執行時管理代碼的代理,它提供記憶體管理、執行緒管理和遠程處理等核心服務,並且還強制實施嚴格的類型安全以及可提高安全性和可靠性的其他形式的代碼準確性。事實上,代碼管理的概念是運行庫的基本原則。以運行庫為目標的代碼稱為託管代碼,而不以運行庫為目標的代碼稱為非託管代碼。.NET Framework 的另一個主要組件是類庫,它是一個綜合性的面向對象的可重用類型集合,您可以使用它開發多種應用程式,這些應用程式包括傳統的命令行或圖形用戶界面 (GUI) 應用程式,也包括基於ASP.NET所提供的最新創新的應用程式(如 Web 窗體和 XML Web services)。
.NET Framework 可由非託管組件承載,這些組件將公共語言運行庫載入到它們的進程中並啟動託管代碼的執行,從而創建一個可以同時利用託管和非託管功能的軟體環境。.NET Framework 不但提供若干個運行庫宿主,而且還支持第三方運行庫宿主的開發。
.NET Framework是Microsoft為開發應用程式而創建的一個富有革命性的新平台。
這句話最有趣的地方是它的含糊不清,但這是有原因的。首先,注意這句話沒有說“在Windows作業系統上開發應用程式”。儘管.NET Framework的Microsoft版本運行在Windows作業系統上,但以後將推出運行在其他作業系統上的版本,例如Mono,它是.NET Framework的開發原始碼版本(包含一個C#編譯器),該版本可以運行在幾個作業系統上,包括各種Linux版本和Mac OS。許多這類項目正在開發,在讀者閱讀本書時可能就已發布了。另外,還可以在個人數字助手(PDA)類設備和一些智慧型電話上使用Microsoft .NET Compact Framework(基本上是完整 .NET Framework的一個子集)。使用.NET Framework的一個主要原因是它可以作為集成各種作業系統的方式。
另外,上面給出的.NET Framework定義並沒有限制應用程式的類型。這是因為本來就沒有限制。.NET Framework可以創建Windows應用程式、Web應用程式、Web服務和其他各種類型的應用程式。
.NET Framework的設計方式保證它可以用於各種語言,包括本書要介紹的C#語言,以及C++、Visual Basic、JScript,甚至一些舊的語言,如COBOL。為此,還推出了這些語言的.NET版本,目前還在不斷推出更多的.NET版本的語言。所有這些語言都可以訪問.NET Framework,它們還可以彼此互動。C#開發人員可以使用Visual Basic程式設計師編寫的代碼,反之亦然。
所有這些提供了意想不到的多樣性,這也是.NET Framework具有誘人前景的部分原因。
內容
NET Framework主要包含一個非常大的代碼庫,可以在客戶語言(如C#)中通過面向對象編程技術(OOP)來使用這些代碼。這個庫分為不同的模組,這樣就可以根據希望得到的結果來選擇使用其中的各個部分。例如,一個模組包含Windows應用程式的構件,另一個模組包含聯網的代碼塊,還有一個模組包含Web開發的代碼塊。一些模組還分為更具體的子模組,例如在Web開發模組中,有用於建立Web服務的子模組。
其目的是,不同的作業系統可以根據自己的特性,支持其中的部分或全部模組。例如,PDA支持所有的核心.NET功能,但不需要某些更深奧的模組。
部分.NET Framework庫定義了一些基本類型。類型是數據的一種表達方式,指定其中最基礎的部分(例如32位帶符號的整數),以便使用.NET Framework在各種語言之間進行互動操作。這稱為通用類型系統(Common Type System,CTS)。
除了支持這個庫以外,.NET Framework還包含.NET公共語言運行庫(Common Language Runtime,CLR),它負責管理用.NET庫開發的所有應用程式的執行。
重要事項
不能在同一台計算機上安裝兩種不同語言版本的 .NET Framework。試圖安裝第二種語言版本的 .NET Framework 時,將會導致出現以下錯誤:“安裝程式無法安裝 Microsoft .NET Framework,因為已經安裝了該產品的其他版本。”如果您要使用非英語的平台或要以另一種語言查看 .NET Framework 資源,則必須下載相應語言版本的 .NET Framework 語言包來解決問題。