這篇文章給大家分享的是有關什么是.NET Native的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
成都創(chuàng)新互聯(lián)公司主要業(yè)務有網(wǎng)站營銷策劃、成都網(wǎng)站設計、做網(wǎng)站、微信公眾號開發(fā)、小程序開發(fā)、H5建站、程序開發(fā)等業(yè)務。一次合作終身朋友,是我們奉行的宗旨;我們不僅僅把客戶當客戶,還把客戶視為我們的合作伙伴,在開展業(yè)務的過程中,公司還積累了豐富的行業(yè)經(jīng)驗、成都全網(wǎng)營銷推廣資源和合作伙伴關系資源,并逐漸建立起規(guī)范的客戶服務和保障體系。
什么是.NET Native?
.NET Native是一套在Visual Studio 2015中編譯通用Windows(UWP)應用的預編譯工具,它可以將托管的中間語言二進制文件編譯為本地二進制文件,每一個托管的通用Windows應用都將受益于這項新技術。在用戶設備上安裝之前,應用會自動編譯為原生代碼。有關其工作機制的詳情可以查看MSDN。
.NET Native會帶來什么?
根據(jù)不同的情況,.NET Native所帶來的好處各種各樣。不過在大多數(shù)情況下,.NET Native將會使得應用啟動更快、運行更好、占用用戶系統(tǒng)資源更少。具體優(yōu)點如下:
冷啟動效率提升60%
熱啟動效率提升40%
原生編譯時應用占用內存資源更少
系統(tǒng)無需安裝桌面.NET Runtime
由于應用在本地編譯,性能可以借助原生代碼的優(yōu)勢得到改善
可利用業(yè)內領先的C#或VB及其編程語言工具
提供全面而一致的.NET編程模型,包括編寫業(yè)務模型所需的擴展API、內置內存管理以及異常處理等
Debug和Release兩種編譯模式的差異
.NET Native的編譯過程十分復雜,相比于傳統(tǒng)的.NET編譯,編譯時間稍微長一些。上面提到的那些優(yōu)點犧牲了一部分編譯時間。Visual Studio在編譯應用時會提醒開發(fā)者這一點,保證了良好的開發(fā)體驗。
當使用Debug編譯模式時,在應用中運行的是中間語言代碼,.NET系統(tǒng)部件不和應用代碼一起封裝,而且應用需要依賴Microsoft.NET.CoreRuntime (CoreCLR)包。這就意味著,開發(fā)者可以享有最優(yōu)的開發(fā)體驗。編譯和配置都十分迅速,有著豐富的調試和診斷信息,在.NET開發(fā)中還可以使用所有熟悉的工具。
而對于Release模式,應用會默認使用.NET Native工具鏈。由于程序包編譯成了本地二進制文件,它就不用再包含.NET框架庫。另外,程序包依賴于最新安裝的.NET Native Runtime而不是CoreCLR包,設備上的.NET Native Runtime始終與應用程序包兼容。
通過Release的本地原生編譯可以在一個模擬用戶使用的環(huán)境里對應用進行測試。在應用開發(fā)過程中,定期的測試十分重要,這樣可以保證查找和修改.NET Native編譯器相關的錯誤。大多數(shù)情況下.NET Native編譯器會正常工作,但在少數(shù)情況下可能就不那么順利了,比如4維以上的數(shù)組可能引發(fā)錯誤。用戶最后獲得的是.NET Native編譯的應用,所以最好在開發(fā)過程中測試應用的版本,確認無誤而后再發(fā)布。
另外需要補充的是,.NET Native取消了跨平臺的編譯模式。原生編譯的架構獨立,因此跨平臺編譯不再有用。一個附加的結果是,當開發(fā)者打包應用程序時,需要將三個體系結構配置(x86、x64、ARM)全部選中,以保證應用程序對所有的設備都能兼容。
.NET Native改變了打發(fā)布包的方式,這是給工作流帶來的最后一個重大變化。.NET Native的一大特點是,編譯器可以放置在云端。在Visual Studio中編譯應用包時會創(chuàng)建兩個包,一個是.appxupload文件,另一個是側面加載用的“測試”.appx文件。.appxupload包含了MSIL二進制文件和應用使用的.NET Native工具鏈版本信息(也記錄在了AppxManifest.xml文件中)。編譯后的程序包接下來放入應用商店,然后被相同版本的.NET Native工具鏈編譯。因為編譯器置于云端,開發(fā)者無需在本地重新編譯應用程序,便能夠反復多次修改程序缺陷。
這樣的改變給開發(fā)者工作流又帶來了另外兩個改變。第一是開發(fā)者不能修改應用程序包的第四個版本號,這是因為應用商店需要通過修改版本號來標記在云端的每一次編譯行為。不過開發(fā)者還能修改其他三個版本號,所以不必有太大的疑慮。第二是需要開發(fā)者特別注意上傳到應用商店的程序包。應用商店代替開發(fā)者進行原生編譯,所以開發(fā)者不能上傳本地.NET Native編譯器生成的原生二進制文件。對此,Visual Studio會幫助開發(fā)者選擇正確的文件。
總結來說,.NET Native帶來的最主要的變化是以下幾點:
使用Release模式定期測試開發(fā)的應用程序
確保修訂包編號為0(Visual Studio不允許修改,也不要使用文本編輯器修改)
只上傳創(chuàng)建包時生成的.appxupload文件至應用商店。如果上傳通用Windows平臺的.appx文件,應用商店會拒絕并報錯
使用.NET Native的其他小技巧
如果開發(fā)者懷疑.NET Native造成了某些錯誤,可以嘗試用以下方法解決。因為Release模式默認優(yōu)化了代碼,這會丟失Debug模式下需要的一些生成文件,所以在Release模式中調試可能會出現(xiàn)錯誤。開發(fā)者可以新建一個自定義模式來使用.NET Native工具鏈,同時不要優(yōu)化代碼。詳細內容可以查看這里。
從一開始就避免.NET Native相關的錯誤無疑是更好的選擇。Microsoft.NET Native.Analyzer在開發(fā)過程中如果遇到代碼與.NET Native沖突,會給出相應的警告。
感謝各位的閱讀!關于“什么是.NET Native”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
網(wǎng)站題目:什么是.NETNative
文章路徑:http://jinyejixie.com/article20/pgiojo.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、小程序開發(fā)、自適應網(wǎng)站、電子商務、企業(yè)建站、虛擬主機
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)