Net Framework,Net Core 和 Net Standard 區別


  前幾天我在一個群里看到有關這方面的討論,最后感覺討論的不是很清晰,有幸的是我們的項目去年就開始遷移NetCore的調研了,我個人多多少少也是有過這方面的研究。下面我將說一下我自己對着三個的認識如果有不足的地方,請大家指出。

大家的討論是這個問題引起的如下:

NetCore

 

 

 

 Net Framework

 

 

 

Net Standard

 

 

 

 最終大家想了解的是這些的區別是什么。

 

  Net Framework 是什么

 

    1.Net Framework 是Net的一種實現,在此類庫上我們可以使用C#,VB,F#進行程序編寫,主要用於構建Windows 下的應用程序

    2.有兩部分組成部分:

                                    i.      公共語言運行時(CLR)處理應用程序

                                   ii.      基礎類庫(BCL)這是可重用的代碼庫,使用其編寫進行應用程序編寫

    3.在執行的過程中.Net編寫的代碼將會編譯成一種稱為中間語音(IL)存儲形式以DLL和EXE后綴名結尾的文件為主,當程序運行時CLR會編譯轉換為機器代碼。

    4. Net Framework 本身不是跨平台的也就是話說僅限於運行在Windows 平台,想要跨平台需要借助第三方。

 

  Net Core 是什么

 

    1.Net Core 的出現就是為了適應軟件開發的趨勢,因為各種不同的設備還有雲計算的出現,其他的操作系統使用量也有所增加,如果Net 不發生改變也就意味着市場將會越來越小。Net Core的出現用於滿足當前以及未來軟件開發的需求

    2.NetCore是一個全新的框架,是.Net的跨平台的實現,它和Net Framework有很多共同的特性,這也就意味着Net Framework從業者轉到Net Core 將會變的很簡單。

    3.Net Core的所有方面都是開源的,無論是類庫,運行時,編譯器。NET Core3.0之后支持了C#,VB,F#。

  Net Standard 是什么,

    1.    Net Standard 是一個規范,它定義了Net Framewoek和Net Core必須實現的Api,它的出現為各種平台上開發的.Net人員解決了代碼共享問題,但是僅用於開發類庫,意思就是說如果你的類庫是Net Standard規范的,那么此類庫既可以是Net Framewoek也可以是Net Core類庫。

    2.    微軟提供的的圖表詳細說明了各個不同版本的兼容情況

                                                               i.      如果我們的類庫是NET Standard 2.0版本的如果想在Net Framework和Core兩種實現中使用,則根據此圖表,我們必須為.NET Core項目選擇2.0版本和NET Framework 4.6.1的版本

                  

 

 

 

  總結:

    從上面我們可以看出,.Net 是一種標准,而Net Framework 和NetCore 是.Net 的一種實現。而Net Standard 是一個規范。

  題外話:

    作為微軟技術站的從業人員,微軟這幾年的動作也告訴我們我們需要多方面的學習才能實現更高的價值。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM