首页新闻找找看学习计划

.net core 3.0 将生成的dll、exe 合并到一个exe文件

0
悬赏园豆:20 [待解决问题]

使用<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

ToolGood的主页 ToolGood | 初学一级 | 园豆:4
提问于:2019-10-20 16:24
< >
分享
所有回答(4)
0

加上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

天方 | 园豆:5264 (大侠五级) | 2019-10-21 00:53
0

单文件楼上已经说了,最好还是不要删除api-ms-win-core-console-l1-1-0.dll开头的dll文件,这些删除之后,换到其他没有.net core环境可能无法运行,这类dll文件有可能vc的运行库.
要想让可执行文件变小,可以用upx之类的工具,进行压缩

秋壶冰月 | 园豆:5443 (大侠五级) | 2019-10-21 08:37
0
无限环 | 园豆:206 (菜鸟二级) | 2019-10-22 20:31
0

能问下为什么不考虑这个工具么? https://github.com/dgiagio/warp

seakingii | 园豆:202 (菜鸟二级) | 2019-10-26 02:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册