今天在翻閱 「從新手到高手.NET框架程式開發實作」實,發現裡面有提到.NET Native。
看了其中描述,很像是我一直在尋找的,類似C/C++編譯後的那種輕巧程式的樣子。
這邊簡單解釋一下,因為.net的程式要執行的話,那台電腦必須要安裝.net runtime。如果你對那台電腦沒有系統管理員權限的話,就會很麻煩。我自己後來是用了兩種方法解決:1. publish as single file 2.在那台電腦放一個可攜式的 .net 執行環境,再用批次檔以命令列的形式執行指令及呼叫程式。
1.的優點是執行起來較方便,點兩下即可。但檔案容量很大,隨便一個hello world就超過50MB。
2.的優點是檔案小,但是你還要特別設置批次檔來指定,要佈署或是把程式給別人使用非常麻煩。(當然這應該有辦法再用更多指令來解決orz)
新的dotnet AOT好像就是可以像C/C++編譯後那樣,不用依賴 runtime,運行在目標機器上,而且容量很小!
雖然目前好像還是有很多限制(可能必須你使用的library支援AOT),但是還是蠻令人期待未來的發展的!
參考影片如下: