ResourceCompressor 1.1.0

dotnet add package ResourceCompressor --version 1.1.0
                    
NuGet\Install-Package ResourceCompressor -Version 1.1.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ResourceCompressor" Version="1.1.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ResourceCompressor" Version="1.1.0" />
                    
Directory.Packages.props
<PackageReference Include="ResourceCompressor">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ResourceCompressor --version 1.1.0
                    
#r "nuget: ResourceCompressor, 1.1.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ResourceCompressor@1.1.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ResourceCompressor&version=1.1.0
                    
Install as a Cake Addin
#tool nuget:?package=ResourceCompressor&version=1.1.0
                    
Install as a Cake Tool

ResourceCompressor

基于 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.

Note:

  • 读取时需要使用对应的压缩方式进行手动解压缩

1. 如何使用

1.1 安装 ResourceCompressor

<ItemGroup>
  <PackageReference Include="ResourceCompressor" Version="1.0.0">
    <PrivateAssets>all</PrivateAssets>
    <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  </PackageReference>
</ItemGroup>

1.2 在项目中使用 CompressedEmbeddedResource 声明需要压缩的嵌入资源

  • 简单使用时可以直接替换 EmbeddedResourceCompressedEmbeddedResource
<ItemGroup>
  <CompressedEmbeddedResource Include="embeddedFile.ext" />
</ItemGroup>
  • 默认的嵌入资源名称会在原始名称后添加压缩方式,如:embeddedFile.ext 使用GZip压缩嵌入后,资源名称会变更为 embeddedFile.ext.gzip

2. 自定义

2.1 CompressedEmbeddedResource 可选属性

2.1.1 压缩算法: CompressionAlgorithm
<ItemGroup>
  <CompressedEmbeddedResource Include="embeddedFile.ext" CompressionAlgorithm="GZip" />
</ItemGroup>
  • 默认值: GZip
  • 支持的值
    • GZip

2.1.2 生成时机: GenerateCompressedFile
<ItemGroup>
  <CompressedEmbeddedResource Include="embeddedFile.ext" GenerateCompressedFile="PreserveNewest" />
</ItemGroup>
  • 默认值: Always
  • 支持的值
    • Always: 总是生成
    • PreserveNewest: 仅在文件变更时生成

2.1.3 生成文件格式: GeneratedFileFormat
<ItemGroup>
  <CompressedEmbeddedResource Include="embeddedFile.ext" GeneratedFileFormat="{0}.gz" />
</ItemGroup>
  • 内部使用 string.Format 进行格式化,参数 0 为原始文件名
  • 默认值: {0}
  • 空白值等价于 {0}
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.1.0 12,651 6/15/2025
1.0.1 834 5/4/2025
1.0.0 110 5/4/2025
1.0.0-pre-001 104 5/4/2025