.net不讨喜有个原因就是.net平台本身太大了,不同版本没有兼容性,程序依赖哪个版本用户就要安装哪个版本,除非你恰好用的是操作系统默认安装的版本——问题不同版本操作系统默认安装的不一样。

        所以打包程序就很头疼,不打包平台程序小,但是用户要单独下载平台,又麻烦又慢。打包平台的话程序又太大了。

        有这么几个办法减小程序大小

        同时使用裁剪和压缩能得到只比不打包平台稍微多一点的程序大小

目录

一、不打包平台

二、裁剪未使用的代码

三、压缩

四、测试结果

五、打包成单个文件的问题


一、不打包平台

        这是默认方式。而且并不推荐,没必要惹用户生气,因为我们还有别的手段。

二、裁剪使用代码

        在项目右键-【发布打开发布界面

        要修改配置点击显示所有设置】:

         上面的红圈处选择依赖框架还是独立,“独立”就是把.net平台打包进去,会非常大。

        下面的红圈点开设置关键选项

        现在只有一个选项生成单个文件选中就只生成一个文件,否则就会有很多很多文件

        把部署模式改成【独立】,文件发布选项多了【裁剪使用代码】, 现在可已通过设置选项测试不同方式生成的程序大小本文最后我会列出所有测试结果

三、压缩

        压缩不能通过选项设置进行,要直接修改配置文件

        配置文件就是发布设置最上面显示的【配置文件名称】,默认是PropertiesPublishProfilesFolderProfile.pubxml

        在文件里增加这样一行

<EnableCompressionInSingleFile>true</EnableCompressionInSingleFile>

        这就启用了压缩。不过压缩不是对每种方式都能起作用的,不起作用的话打包时候输出会有提示信息

四、测试结果

        发布失败那个试了很多次,也重启过,仍然是失败,所以不知道为什么。依赖框架方式压缩是不起作用的。

        独立发布最大106M,裁剪后56.5M,压缩后45.3M,裁剪并压缩24.6M,大小和依赖框架的21.7M相比增加不多。 

五、打包成单个文件的问题

        我实测发现程序行为不同(程序是在arm64上运行的),程序一开始就卡住了,屏蔽掉与Path有关的几行代码后程序进去了,由于缺乏完整测试屏蔽掉的代码是否影响程序也不知道。

        这种方式是否还有别的影响?恐怕还是要经过仔细测试才能确定。

这里结束

原文地址:https://blog.csdn.net/2301_77171572/article/details/134664378

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_30410.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注