将 .exe 作为单个文件发布到文件夹时如何减小它的大小
How to reduce the size of .exe when publish it to folder as single file
我有一个非常小的项目(WinForms,它包含 2 个文件夹和 10 个 类,用于输入的简单 windows),我想将它作为单个 .exe 文件发布到文件夹。
完成后文件的大小为 140MB。当我添加“Trim 未使用的程序集”标记时 - 90 MB。
我怎样才能减少这个 .exe 文件的大小?我以前遇到过类似的事情,文件大小约为1 MB。
我的发布配置:
- 配置:调试 |任意 CPU
- 目标框架:net5.0 windows
- 部署方式:自包含(产生单个文件)
- 目标运行时间:win x-86
将配置设置为 Release
而不是 Debug
。
这已经添加了一些优化。
优化大小时应禁用 self-contained
部分。禁用它会遗漏 .net 运行时,否则部分嵌入可以节省 space,但您必须确保用户安装了适当的 .net 运行时。
如果您的文件夹中包含嵌入的大文件、视频等资源,那么您将无能为力。
如果是小项目可以考虑“直接编译”。如果您不使用任何非标准 DLL,它会生成一个(较小的)exe。
我实际上非常喜欢 self-contained
选项:它让我省去了确保 user/system 安装了正确的 .net 版本的麻烦。
我有一个非常小的项目(WinForms,它包含 2 个文件夹和 10 个 类,用于输入的简单 windows),我想将它作为单个 .exe 文件发布到文件夹。 完成后文件的大小为 140MB。当我添加“Trim 未使用的程序集”标记时 - 90 MB。
我怎样才能减少这个 .exe 文件的大小?我以前遇到过类似的事情,文件大小约为1 MB。
我的发布配置:
- 配置:调试 |任意 CPU
- 目标框架:net5.0 windows
- 部署方式:自包含(产生单个文件)
- 目标运行时间:win x-86
将配置设置为 Release
而不是 Debug
。
这已经添加了一些优化。
优化大小时应禁用 self-contained
部分。禁用它会遗漏 .net 运行时,否则部分嵌入可以节省 space,但您必须确保用户安装了适当的 .net 运行时。
如果您的文件夹中包含嵌入的大文件、视频等资源,那么您将无能为力。
如果是小项目可以考虑“直接编译”。如果您不使用任何非标准 DLL,它会生成一个(较小的)exe。
我实际上非常喜欢 self-contained
选项:它让我省去了确保 user/system 安装了正确的 .net 版本的麻烦。