首页  / System.IO.Compression.Brotli.dll
System.IO.Compression.Brotli.dll
运行环境:windows10
更新时间:2026-08-26
软件分类:系统文件
软件大小:71 KB
软件语言:简体中文
软件类型:国产软件
软件授权:免费软件
软件版本:6.0.3224.31407
选择系统
windows10
选择版本
{{item.label}}
暂无版本
选择位数
64位
选择子版本
立即下载

一、程序集定位与核心功能

System.IO.Compression.Brotli.dll 是 .NET 生态中承载 Brotli 无损压缩算法的托管程序集,自 .NET Core 2.1 / .NET Standard 2.1 起纳入基础类库,.NET Framework 则需通过 NuGet 包 System.IO.Compression.Brotli 引入。它实现了 RFC 7932 定义的 Brotli 数据格式,并对外暴露 BrotliStream、BrotliEncoder、BrotliDecoder 等类型,为上层提供统一的流式压缩与解压缩能力。其内部通过 P/Invoke 调用 System.IO.Compression.Native(即 libbrotli)完成熵编码、静态字典匹配与滑动窗口计算,托管层主要负责缓冲区管理、参数校验与异常包装。

二、关键类型与典型用法

BrotliStream 支持 Compress 与 Decompress 两种模式,可按数据块写入与读取;BrotliEncoder.TryCompress 与 BrotliDecoder.TryDecompress 适合一次性处理小体量字节数组。窗口大小与质量等级可通过 CompressionLevel 选取,用于平衡压缩率与 CPU 开销。典型场景包括:HTTP 响应采用 Content-Encoding: br、CDN 对静态资源预压缩生成 .br 文件、日志与冷数据归档落盘,以及 WebAssembly 程序集的分发传输等。

三、缺少该 DLL 的直接影响

运行时找不到程序集时抛出 FileNotFoundException 或 FileLoadException;版本或公钥标记不匹配时出现 BadImageFormatException。

凡引用 BrotliStream 的代码路径,在首次加载类型阶段即触发 TypeLoadException,导致初始化中断。

ASP.NET Core 启用 ResponseCompression 的 br 提供程序时,请求会在压缩环节失败并返回 500。

未随发布目录复制该程序集(如缺少 NuGet 引用或 CopyLocalLockFileAssemblies 未生效)时,表现为本地调试正常、部署后崩溃。

基于反射动态解析 Brotli 类型的插件体系会因加载失败而静默降级,压缩功能退化为未压缩或回退到 GZip。

四、修复与规避建议

通过 NuGet 显式引用对应包,确认输出目录中存在该 DLL 及其原生依赖 System.IO.Compression.Native;使目标框架版本与运行时保持一致,避免多版本冲突;在部署流水线中加入程序集清单校验,可提前发现缺失。