.Net Core簡(jiǎn)介

一缩幸、.Net Framework框架

C#勺拣、.Net Framework、CLR對(duì)應(yīng)關(guān)系如下所示:

.Net Core是.Net Framework的下一個(gè)版本近刘。

二、什么是.Net Core

微軟官方對(duì).Net Core的定義如下:

.NET Core是微軟提供的一個(gè)開(kāi)源的開(kāi)發(fā)框架臀晃,支持跨平臺(tái)觉渴,及可以在Windows、Linux和macOS等系統(tǒng)上開(kāi)發(fā)和部署积仗,是真正的跨平臺(tái)疆拘。并且可以在硬件設(shè)備、云服務(wù)寂曹、嵌入式\物聯(lián)網(wǎng)方案中進(jìn)行使用哎迄。.NET Core的源代碼在GitHub上面,由Microsoft和.NET社區(qū)共同維護(hù)隆圆。

.NET Core源代碼地址:GitHub - dotnet/core: Home repository for .NET Core

三漱挚、.Net Core的組成部分

.Net Core主要有以下幾部分組成:

\bullet NET Core Runtime:及.NET Core CLR。其與.NET Framework的CLR并沒(méi)有多大區(qū)別渺氧,類(lèi)型系統(tǒng)旨涝、進(jìn)程管理、GC(垃圾回收)侣背、JIT(RyuJIT編譯器)等功能都是一樣的白华,只是針對(duì)服務(wù)器系統(tǒng)做了相應(yīng)的優(yōu)化】現(xiàn)在.NET Framework CLR和.NET CoreCLR都在進(jìn)行同步更新。

\bullet .NET Core Framework Libraries:及.NER Core框架類(lèi)庫(kù)弧腥。包括集合類(lèi)厦取、文件處理、XML處理等框架類(lèi)庫(kù)管搪。

\bullet ASP.NET Runtime:及ASP.NET 運(yùn)行時(shí)虾攻,提供框架以生成基于新式云的 Internet 連接的應(yīng)用程序,例如 Web 應(yīng)用更鲁、IoT 應(yīng)用以及移動(dòng)后端霎箍。

\bullet .NET Core CLI 工具和語(yǔ)言編譯器(Roslyn 和 F#):提供 .NET Core 開(kāi)發(fā)人員體驗(yàn)。

\bullet dotnet 工具:用于啟動(dòng) .NET Core 應(yīng)用和 CLI 工具澡为。它選擇運(yùn)行時(shí)并托管運(yùn)行時(shí)漂坏,提供程序集加載策略并啟動(dòng)應(yīng)用和工具。

這些組件采用以下方式進(jìn)行分步:

\bullet NET Core 運(yùn)行時(shí) -- 包括 .NET Core Runtime和框架庫(kù)(.NET Core Framework Libraries)缀壤。

\bullet ASP.NET Core 運(yùn)行時(shí) -- 包括 ASP.NET Core 和 .NET Core 運(yùn)行時(shí)(.NET Core Runtime)以及框架庫(kù)(.NET Core Framework Libraries)樊拓。

\bullet .NET Core SDK -- 包括 .NET CLI 工具、ASP.NET Core 運(yùn)行時(shí)以及 .NET Core 運(yùn)行時(shí)和框架塘慕。

四筋夏、.NET Core特性

.NET Core具有以下特性:

\bullet 跨平臺(tái):可以在Windows、Linux图呢、macOS操作系統(tǒng)上面運(yùn)行条篷。

\bullet 跨體系結(jié)構(gòu)保持一致:在多個(gè)體系結(jié)構(gòu)(包括 x64、x86 和 ARM)上以相同的行為運(yùn)行代碼蛤织。

\bullet 靈活的部署方式:可以包含在應(yīng)用或已安裝的并行用戶(hù)或計(jì)算機(jī)范圍中赴叹。可搭配 Docker 容器使用指蚜。Portable applications(便攜式應(yīng)用)乞巧,這種部署機(jī)制和傳統(tǒng)的.NET Framework相似,只要目標(biāo)平臺(tái)上存在.NET Core Runtime即可摊鸡。Self-contained application(自宿主應(yīng)用):顧名思義绽媒,這種部署機(jī)制將應(yīng)用和運(yùn)行時(shí)共同打包,即便目標(biāo)平臺(tái)上沒(méi)有安裝.NET Core Runtime也能正常使用免猾。

\bullet 命令行工具(CLI):包括可用于本地開(kāi)發(fā)和持續(xù)集成方案中的易于使用的命令行工具是辕。

\bullet 兼容性:.NET Core 通過(guò) .NET Standard與 .NET Framework、Xamarin 和 Mono 兼容猎提。

\bullet 開(kāi)源:.NET Core開(kāi)放源代碼获三,使用 MIT 和 Apache 2 許可證,由 Microsoft 依據(jù) .NET Core 支持提供支持。

五疙教、.Net Standard棺聊、.Net Framework、.Net Core關(guān)系

\bullet .Net Standard

.NET Standard 是一組由 .NET 實(shí)現(xiàn)的基類(lèi)庫(kù)實(shí)現(xiàn)的 API贞谓。更正式地說(shuō)躺屁,它是構(gòu)成協(xié)定統(tǒng)一集(這些協(xié)定是編寫(xiě)代碼的依據(jù))的特定 .NET API 組。這些協(xié)定在每個(gè) .NET 實(shí)現(xiàn)中實(shí)現(xiàn)经宏。這可實(shí)現(xiàn)不同 .NET 實(shí)現(xiàn)間的可移植性,有效地使代碼可在任何位置運(yùn)行驯击。

.NET Standard 也是一個(gè)目標(biāo)框架烁兰。如果代碼面向 .NET Standard 版本,則它可在支持該 .NET Standard 版本的任何 .NET 實(shí)現(xiàn)上運(yùn)行徊都。

\bullet .Net Framework

.Net Framework 是自 2002 年起就已存在的原始 .NET 實(shí)現(xiàn)沪斟。它是當(dāng)前 .NET 開(kāi)發(fā)人員經(jīng)常使用的 .NET Framework。4.5 版以及更高版本實(shí)現(xiàn) .NET Standard暇矫,因此面向 .NET Standard 的代碼都可在這些版本的 .NET Framework 上運(yùn)行主之。它還包含一些特定于 Windows 的 API,如通過(guò) Windows 窗體和 WPF 進(jìn)行 Windows 桌面開(kāi)發(fā)的 API李根。.NET Framework 非常適合用于生成 Windows 桌面應(yīng)用程序槽奕。

\bullet .Net Core

.NET Core 是 .NET 的跨平臺(tái)實(shí)現(xiàn),專(zhuān)用于處理大規(guī)模的服務(wù)器和云工作負(fù)荷房轿≡猎埽可在 Windows、macOS 和 Linux 上運(yùn)行囱持。它實(shí)現(xiàn) .NET Standard夯接,因此面向 .NET Standard 的代碼都可在 .NET Core 上運(yùn)行。ASP.NET Core 在 .NET Core 上運(yùn)行纷妆。

用一句話(huà)總結(jié)一下三者的關(guān)系:

.Net Standard是.Net基礎(chǔ)類(lèi)庫(kù)(BCL)API規(guī)范盔几,.Net Framework實(shí)現(xiàn)了這個(gè)API規(guī)范,.Net Core也實(shí)現(xiàn)了這個(gè)API規(guī)范掩幢,任何基于.Net Standard開(kāi)發(fā)的類(lèi)庫(kù)逊拍,都可以在.Net Framework和.Net Core上面運(yùn)行。

各版本對(duì)應(yīng)關(guān)系如下:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末粒蜈,一起剝皮案震驚了整個(gè)濱河市顺献,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌枯怖,老刑警劉巖注整,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡肿轨,警方通過(guò)查閱死者的電腦和手機(jī)寿冕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)椒袍,“玉大人驼唱,你說(shuō)我怎么就攤上這事【允睿” “怎么了玫恳?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)优俘。 經(jīng)常有香客問(wèn)我京办,道長(zhǎng),這世上最難降的妖魔是什么帆焕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任惭婿,我火速辦了婚禮,結(jié)果婚禮上叶雹,老公的妹妹穿的比我還像新娘财饥。我一直安慰自己,他們只是感情好折晦,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布钥星。 她就那樣靜靜地躺著,像睡著了一般筋遭。 火紅的嫁衣襯著肌膚如雪打颤。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天漓滔,我揣著相機(jī)與錄音编饺,去河邊找鬼。 笑死响驴,一個(gè)胖子當(dāng)著我的面吹牛透且,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播豁鲤,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼秽誊,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了琳骡?” 一聲冷哼從身側(cè)響起锅论,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎楣号,沒(méi)想到半個(gè)月后最易,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體怒坯,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年藻懒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剔猿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡嬉荆,死狀恐怖归敬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情鄙早,我是刑警寧澤汪茧,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站限番,受9級(jí)特大地震影響陆爽,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扳缕,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望别威。 院中可真熱鬧躯舔,春花似錦、人聲如沸省古。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)豺妓。三九已至惜互,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間琳拭,已是汗流浹背训堆。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留白嘁,地道東北人坑鱼。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像絮缅,于是被迫代替她去往敵國(guó)和親鲁沥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • 一耕魄、什么是ASP.NET Core ASP.NET Core是一個(gè)跨平臺(tái)画恰,高性能的開(kāi)源框架,用于構(gòu)建現(xiàn)代的吸奴、基于云...
    _黑冰_閱讀 1,346評(píng)論 3 5
  • 1. NET Core 2.0 是您的最好選擇嗎?[#1-net-core-20-%E6%98%AF%E6%82%...
    xdpie閱讀 3,125評(píng)論 1 5
  • 簡(jiǎn)析.NET Core 以及與 .NET Framework的關(guān)系[#%E7%AE%80%E6%9E%90net-...
    xdpie閱讀 7,237評(píng)論 0 5
  • .NET Core 是一個(gè)通用開(kāi)發(fā)平臺(tái)蔼两,由 Microsoft 和 GitHub 上的 .NET 社區(qū)共同維護(hù)甩鳄。 ...
    yanshouwang閱讀 2,523評(píng)論 0 8
  • 之一: 無(wú)愁川 ,曬石川额划, 流水可斷愁亦斷妙啃, 默默思無(wú)言崩瓤。白鹿潭 暂吉,積雪潭, 仙蹤難覓鹿依然竭钝,呦呦鳴山南抑胎。 濟(jì)州島...
    北高地閱讀 245評(píng)論 0 3