使用<PublishSingleFile>true</PublishSingleFile>和<PublishTrimmed>true</PublishTrimmed> 生成的exe文件在47M。
但我想要更小的体积,操作如下:
1、使用<PublishTrimmed>true</PublishTrimmed>生成项目。
2、项目生成后,删除了部分无效的dll,如api-ms-win-core-console-l1-1-0.dll、api-ms-win-core-datetime-l1-1-0.dll……
3、修改了*.deps.json,程序正常运行。
修改后整个程序全部文件体积为30M。
问一下,怎么操作将dll、exe 合并到一个exe文件。
注:不考虑这个工具 https://github.com/dgiagio/warp
加上PublishSingleFile不就是一个exe文件了,它和PublishTrimmed又不冲突,
或者直接用命令行:dotnet publish -r win10-x64 -p:PublishSingleFile=true,
我试了下,没有使用你的第二步,直接使用命令发布,发布后publish文件夹下就只有一个文件了,大概是20多m。
参考文章:
https://docs.microsoft.com/en-us/dotnet/core/whats-new/dotnet-core-3-0#single-file-executables
单文件楼上已经说了,最好还是不要删除api-ms-win-core-console-l1-1-0.dll开头的dll文件,这些删除之后,换到其他没有.net core环境可能无法运行,这类dll文件有可能vc的运行库.
要想让可执行文件变小,可以用upx之类的工具,进行压缩