dotnet core如何編譯exe

諾貝爾發表於2018-08-23

dotnet core 有一個轉變,他用dll格式來代替exe作為通用執行格式,然後要命令列dotnet yourApp.dll 來執行程式。為了提高逼格,雙擊可以執行,可以採用以下方案:

方案一 用bat檔案

可以編寫一個bat來執行,如mylib.bat檔案內容:

@dotnet mylib.dll
@pause

方案二 釋出指定執行環境

用命令列:dotnet publish -f netcoreapp2.1 -c release -r win-x64

其中-f 指定框架,-r 指定執行環境。釋出後會產生一個60多m的目錄。其中publish子目錄攜帶了整個dotnet core 框架,可以複製到指定的系統環境中執行(據說還需要安裝vc++ 2015的執行時)。

辣麼大,當然不是我們希望的,我們需要的只是exe檔案格式而已。經測試,釋出目錄去除publish子目錄,剩餘1m多點的exe相關檔案,是可以執行的,前提是安裝了相關dotnet core 框架。

補充說明

用虛擬機器測試了一下。在winxp中會提示不是有效的32位程式,netcore不支援winxp,微軟這個奸商。

官方資料顯示最低支援win7,然後安裝win7 sp1 x64 ,還是不能直接執行,會提示載入不了dll,百度一下,經測試是缺乏一個補丁:Windows6.1-KB2533623-x64.msu

下載:部落格園主站 

微軟:https://www.microsoft.com/zh-CN/download/details.aspx?id=26764

好吧,微軟總是會給你製造點麻煩。

相關文章