使用場景
通常開發的Winform程序,引用了其他類庫后,在輸出目錄下都會產生很多DLL文件,exe執行時必須依賴這些DLL。想要Winform程序只有一個可執行exe文件,又不想打包成安裝包,就可以采用該方法。
方案一
利用ILMerge將exe及dll合並成一個新的exe
ILMerge下載地址:https://www.microsoft.com/en-us/download/details.aspx?id=17630
將ILMerge.exe復制到exe所在目錄,執行以下命令
ILMerge.exe /ndebug /target:winexe /targetplatform:v4 /out:d:/output.exe input.exe /log BouncyCastle.Crypto.dll /log Dapper.dll
/targetplatform 是用來指定版本號
/log 將dll打包進output.exe中,多個dll就用多個/log指定
方案二
利用壓縮軟件的自解壓特性
1. 切換到Winform輸出目錄,全選並右鍵添加到壓縮文件
2. 修改壓縮文件名后綴為.exe
3. 切換到高級選項 -> 自解壓選項,設置 -> 提取后運行:./程序名.exe,模式 -> 臨時模式:勾選解包到臨時文件夾,安靜模式:選中全部隱藏
4. 確定並壓縮,會生成一個exe文件,點擊可執行