PublishAotCompressed 使用教程
PublishAotCompressed项目地址:https://gitcode.com/gh_mirrors/pu/PublishAotCompressed
项目介绍
PublishAotCompressed 是一个 NuGet 包,它包含一个 MSBuild 目标,用于使用 UPX 压缩 PublishAot 的结果。通过简单地添加对该包的引用,您可以像往常一样发布 PublishAot,结果将是经过压缩的。UPX 通常可以实现 60% 或更多的尺寸节省。为了在牺牲启动时间的情况下实现更多的压缩,您可以指定 <PublishLzmaCompressed>true</PublishLzmaCompressed>
属性。UPX 会在内存中解压缩程序并在启动时运行,这一般是不可察觉的。
项目快速启动
安装 PublishAotCompressed
您可以通过以下几种方式安装 PublishAotCompressed:
使用 .NET CLI
dotnet add package PublishAotCompressed --version 1.0.3
使用 Package Manager Console
Install-Package PublishAotCompressed -Version 1.0.3
使用 PackageReference
在项目文件中添加以下 XML 节点:
<PackageReference Include="PublishAotCompressed" Version="1.0.3" />
配置项目
在您的项目文件中添加以下属性以启用压缩:
<PublishAotCompressed>true</PublishAotCompressed>
如果需要更多压缩,可以添加:
<PublishLzmaCompressed>true</PublishLzmaCompressed>
应用案例和最佳实践
案例一:Hello World 程序
创建一个简单的 Hello World 程序,并启用系统资源键和全球化不变性选项:
using System;
class Program
{
static void Main()
{
Console.WriteLine("Hello, World!");
}
}
在项目文件中添加以下属性:
<UseSystemResourceKeys>true</UseSystemResourceKeys>
<InvariantGlobalization>true</InvariantGlobalization>
<PublishAotCompressed>true</PublishAotCompressed>
最佳实践
- 启用压缩:始终启用
<PublishAotCompressed>
以减少程序大小。 - 优化启动时间:如果对启动时间有要求,可以不启用
<PublishLzmaCompressed>
。 - 调试符号分离:在 Linux 上,设置
<StripSymbols>true</StripSymbols>
以将调试符号分离到单独的文件中。
典型生态项目
PublishAotCompressed 主要用于需要优化发布结果大小的 .NET 项目。以下是一些典型的生态项目:
- 微服务:在微服务架构中,减少每个服务的二进制大小可以显著减少部署时间和资源消耗。
- 移动应用:在移动应用开发中,减少应用大小可以提高用户下载和安装的意愿。
- 嵌入式系统:在资源受限的嵌入式系统中,减少程序大小可以节省宝贵的存储空间。
通过使用 PublishAotCompressed,您可以有效地优化这些项目的发布结果,从而提高性能和用户体验。
PublishAotCompressed项目地址:https://gitcode.com/gh_mirrors/pu/PublishAotCompressed