【转】Net Framework,Net Core 和 Net Standard 区别
前幾天我在一個(gè)群里看到有關(guān)這方面的討論,最后感覺(jué)討論的不是很清晰,有幸的是我們的項(xiàng)目去年就開(kāi)始遷移NetCore的調(diào)研了,我個(gè)人多多少少也是有過(guò)這方面的研究。下面我將說(shuō)一下我自己對(duì)著三個(gè)的認(rèn)識(shí)如果有不足的地方,請(qǐng)大家指出。
大家的討論是這個(gè)問(wèn)題引起的如下:
NetCore
?
?
?
?Net Framework
?
?
?
Net Standard
?
?
?
?最終大家想了解的是這些的區(qū)別是什么。
?
Net Framework 是什么
?
1.Net Framework 是Net的一種實(shí)現(xiàn),在此類庫(kù)上我們可以使用C#,VB,F#進(jìn)行程序編寫(xiě),主要用于構(gòu)建Windows 下的應(yīng)用程序
2.有兩部分組成部分:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? i.????? 公共語(yǔ)言運(yùn)行時(shí)(CLR)處理應(yīng)用程序
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?ii.????? 基礎(chǔ)類庫(kù)(BCL)這是可重用的代碼庫(kù),使用其編寫(xiě)進(jìn)行應(yīng)用程序編寫(xiě)
3.在執(zhí)行的過(guò)程中.Net編寫(xiě)的代碼將會(huì)編譯成一種稱為中間語(yǔ)音(IL)存儲(chǔ)形式以DLL和EXE后綴名結(jié)尾的文件為主,當(dāng)程序運(yùn)行時(shí)CLR會(huì)編譯轉(zhuǎn)換為機(jī)器代碼。
4. Net Framework 本身不是跨平臺(tái)的也就是話說(shuō)僅限于運(yùn)行在Windows 平臺(tái),想要跨平臺(tái)需要借助第三方。
?
Net Core 是什么
?
1.Net Core 的出現(xiàn)就是為了適應(yīng)軟件開(kāi)發(fā)的趨勢(shì),因?yàn)楦鞣N不同的設(shè)備還有云計(jì)算的出現(xiàn),其他的操作系統(tǒng)使用量也有所增加,如果Net 不發(fā)生改變也就意味著市場(chǎng)將會(huì)越來(lái)越小。Net Core的出現(xiàn)用于滿足當(dāng)前以及未來(lái)軟件開(kāi)發(fā)的需求
2.NetCore是一個(gè)全新的框架,是.Net的跨平臺(tái)的實(shí)現(xiàn),它和Net Framework有很多共同的特性,這也就意味著Net Framework從業(yè)者轉(zhuǎn)到Net Core 將會(huì)變的很簡(jiǎn)單。
3.Net Core的所有方面都是開(kāi)源的,無(wú)論是類庫(kù),運(yùn)行時(shí),編譯器。NET Core3.0之后支持了C#,VB,F#。
?
Net Standard?是什么,
1.??? Net Standard 是一個(gè)規(guī)范,它定義了Net Framewoek和Net Core必須實(shí)現(xiàn)的Api,它的出現(xiàn)為各種平臺(tái)上開(kāi)發(fā)的.Net人員解決了代碼共享問(wèn)題,但是僅用于開(kāi)發(fā)類庫(kù),意思就是說(shuō)如果你的類庫(kù)是Net Standard規(guī)范的,那么此類庫(kù)既可以是Net Framewoek也可以是Net Core類庫(kù)。
2.??? 微軟提供的的圖表詳細(xì)說(shuō)明了各個(gè)不同版本的兼容情況
?????????????????????????????????????????????????????????????? i.????? 如果我們的類庫(kù)是NET Standard 2.0版本的如果想在Net Framework和Core兩種實(shí)現(xiàn)中使用,則根據(jù)此圖表,我們必須為.NET Core項(xiàng)目選擇2.0版本和NET Framework 4.6.1的版本
?
?
?
總結(jié):
從上面我們可以看出,.Net 是一種標(biāo)準(zhǔn),而Net Framework 和NetCore 是.Net 的一種實(shí)現(xiàn)。而Net Standard 是一個(gè)規(guī)范。? ? ?
? ? ? 理解:
? ? ? ? ? ?.net是一個(gè)開(kāi)發(fā)平臺(tái),一個(gè)開(kāi)發(fā)平臺(tái)有編譯器,運(yùn)行時(shí),類庫(kù)。其中類庫(kù)是API集合。net standard是API規(guī)范,約定有哪些API,net framework與net core是net standard的實(shí)現(xiàn),這里的實(shí)現(xiàn)是類庫(kù)的實(shí)現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的【转】Net Framework,Net Core 和 Net Standard 区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 直播业月薪9423元!直播购物的利与弊
- 下一篇: 【转】wpf从我炫系列1----布局控件