.NET版本與CLR版本及兼容性


WIN7原生的.net是2.0和3.5,打開和關閉windows功能里面可以看到。
另外C:\Windows\Microsoft.NET\Framework下面也能看到。
.net framework1.0 1.1底層的CLR1.0 1.1早已被微軟拋棄.
WIN7里面附帶的.NET 2.0 3.5底層的CLR都是2.0的。
WIN8 10里面附帶的.NET4.x framework底層的CLR都是4.0的,他們也附帶了.net 2.0 3.5(CLR2.0),需要你在打開和關閉windows功能里面開啟。
基於不同版本的CLR開發的程序不可能通用。同一個CLR版本下開發的程序,如果沒有采用公用的程序集API,也不一定能夠通用。
所以.net4.5.1開發的程序,他會提示你需要安裝.net4.5.1,必須要CLR4.0,也就是需要安裝.net4.5.1framework。
windows的.net framework非常蛋疼,基本沒有什么兼容性,更別提什么跨平台,一個.net程序如果在不同的CLR下開發,在WIN7 8 10上兼容性都難以保證,必須要“運行屎”,“帶屎運行”才行,.net運行屎對系統速度有可以感覺到的拖累。

打個不一定太恰當但是很形象的比喻:
CLR1.0 1.1就好比馬路,上面只能跑一般的馬車.NET1.0 1.1,微軟覺得他們不行,於是就有了CLR2.0。
CLR2.0就好比公路,公路上可以跑小汽車.NET2.0、中巴車.NET3.5,微軟覺得他們裝的人還是太少,於是就有了CLR4.0。
CLR4.0就好比鐵路,鐵路上可以跑蒸汽機車.NET4.0、內燃機車.NET4.5、電力機車.NET4.6 4.7,微軟覺得裝的人挺多的。
微軟又覺得,各種車光在美國跑不行,還要能在中國跑,這就叫做.NET跨平台。
隨着java技術如日中天,微軟覺得光賣車還是不行,還要轉讓技術讓更多的廠家來玩,這就叫做.NET開源。
但是要想把小汽車、中巴車開上鐵路軌道,那就很難咯。。。因為他們底層的平台CLR不同。
微軟又發現,在鐵路上跑的蒸汽機車、內燃機車、電力機車發動機雖然不通用,但是他們都可以裝一樣的空調,這就叫做兼容。 


免責聲明!

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



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