基于 MSBuild Task 的构建时资源压缩器,用于在构建时将文件压缩后作为 嵌入的资源 编译到最终输出文件中。
A build time resource compressor based on the MSBuild Task, used to compress files and compile them as EmbeddedResource into the final output file during build time.
- 读取时需要使用对应的压缩方式进行手动解压缩
<ItemGroup>
<PackageReference Include="ResourceCompressor" Version="1.0.0">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>- 简单使用时可以直接替换
EmbeddedResource为CompressedEmbeddedResource
<ItemGroup>
<CompressedEmbeddedResource Include="embeddedFile.ext" />
</ItemGroup>- 默认的嵌入资源名称会在原始名称后添加压缩方式,如:
embeddedFile.ext使用GZip压缩嵌入后,资源名称会变更为embeddedFile.ext.gzip
<ItemGroup>
<CompressedEmbeddedResource Include="embeddedFile.ext" CompressionAlgorithm="GZip" />
</ItemGroup>- 默认值:
GZip - 支持的值
GZip
<ItemGroup>
<CompressedEmbeddedResource Include="embeddedFile.ext" GenerateCompressedFile="PreserveNewest" />
</ItemGroup>- 默认值:
Always - 支持的值
Always: 总是生成PreserveNewest: 仅在文件变更时生成
<ItemGroup>
<CompressedEmbeddedResource Include="embeddedFile.ext" GeneratedFileFormat="{0}.gz" />
</ItemGroup>- 内部使用
string.Format进行格式化,参数0为原始文件名 - 默认值:
{0} - 空白值等价于
{0}