徹底搞清楚.net core,.net framework,asp.net core等的概念

隨着 netcore的出現及流行,概念東西越搞越多,混亂不堪,由此一篇來理一理

在這裏插入圖片描述
先上一張圖,此圖經常見到
總體的脈絡結構大致都是這樣,自下而上,越往下越是基礎層,其中.net standard library定義了一些列的標準函數接口,由不同框架去實現。 也就是 net framework ,net core,xmarin都實現了該標準裏的接口。

可以看到 asp.net ,wpf,windows forms 基於 net framework,asp.net core等基於net core等
由此我們知道net framework , net core ,xamarin 其實是一些框架 實現了net standard 標準 ,asp.net 就是構建windows上網站的框架 ,asp.net core 就是跨平臺的網站框架。

那麼這張圖有歧義嗎?
在這裏插入圖片描述

在這裏插入圖片描述

上面兩張圖,懵了吧,asp.net core可以基於 net framework

ASP.NET和ASP.NET Core 概念背景介紹

ASP.NET是由微軟在.NET Framework框架中所提供,開發Web應用程序的類別庫,ASP.NET可以運行在安裝了.NET Framework的IIS服務器上,若要在非微軟的平臺上運行,則需要使用Mono平臺,很多人都把 ASP.NET 當做是一種編程語言,但它實際上只是一個由 .NET Framework 提供的一種開發平臺 (development platform),並非編程語言。也可認爲ASP.NET是.NET組件,任何.NET語言,例如C#,可以引用該組件,創建網頁或Web服務。

爲了因應雲端化所誘發的多作業平臺集成與開發能力,微軟特別開發一個新一代的 ASP.NET,稱爲 ASP.NET vNext,並於 2014 年命名爲 ASP.NET 5,但隨後於 2016 年將它更名爲 ASP.NET Core,由於架構上的差異頗大,因此未來 ASP.NET 與 ASP.NET Core 將是分別發展與維護,Windows 平臺的 ASP.NET 4.6 以上版本仍維持 Windows Only,但 ASP.NET Core 則是具有跨平臺 (Windows, Mac OSX 與 Linux) 的能力。

ASP.NET Core 是新一代的 ASP.NET,早期稱爲 ASP.NET vNext,並且在推出初期命名爲 ASP.NET 5,但隨着 .NET Core 的成熟,以及 ASP.NET 5 的命名會使得外界將它視爲 ASP.NET 的升級版,但它其實是新一代從頭開始打造的 ASP.NET 核心功能,因此微軟宣佈將它改爲與 .NET Core 同步的名稱[1],即 ASP.NET Core。

ASP.NET Core 可運行於 Windows 平臺以及非 Windows 平臺,如 Mac OSX 以及 Ubuntu Linux 操作系統,是 Microsoft 第一個具有跨平臺能力的 Web 開發框架。 (注意,當你選擇.net framework 作爲框架依賴,那麼就無法跨平臺了,當然如果是mono那當然是可以的吧)

注意asp.net core 從 3.0開始 不再支持 .net framework 只依賴net core ,net core 3.0實現了 net standrd 2.1 ,與此同時任何版本的net framework 不支持net standrd 2.1,意圖很明確,大方向以後就是net core的趨勢,微軟定調了

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章