发布于 · 指南
.NET 裁剪与反射:先保证行为,再减少暴露
代码裁剪是部署优化;反射依赖和保留注解必须纳入加固回归。
不要把删除误判为保护
Microsoft 的裁剪指南讨论如何让库适应裁剪以及处理动态访问。删除未使用代码可以减少包内内容;删掉运行时需要的代码则只是破坏功能。对外挂模块、反射创建类型和序列化入口尤其要谨慎。
给每个保留点建立测试
建议整理一张“动态入口—保留原因—测试用例”清单。加固前后检查插件发现、配置读取和旧数据迁移,不能只测程序能启动。若保护方案改名,就额外验证按名称访问的路径;若只做裁剪,不宣称已经隐藏核心算法。
行动清单
- 列出动态入口。
- 保留可重现的失败样本。
- 对旧版本数据执行兼容测试。
原始资料
- Microsoft: Prepare libraries for trimming · 核对于 2026-10-12