
ILSppy 是一个开源的 .NET 反编译工具。ILSpy 8.0 现已发布,与前几代基于 .NET Framework 4.7.2 的 ILSpy 相比,ILSpy 8 基于 .NET 6.0。除独立分发版之外的所有工件都依赖于框架构建,这意味着必须在启动 ILSpy 之前安装 .NET 6.0.2+。
具体更新内容如下:
New Language Features
C# 10: record structs
C# 11: Required members
C# 11: ref fields
C# 10:支持 DefaultInterpolatedStringHandler
lambda 表达式的输出属性
更新了 Roslyn 4.4.0 的模式检测
Contributions
更多主题 – Light/Dark 是原始主题,添加了 R# 和 VS Code(参见 #2906 和 #2931)
改进选定文本的高亮显示(参见 #2938)
ILSpy tree view 中的命名空间嵌套(#2667)
ilspycmd在项目导出时获得了对“nested directories”选项的支持。(参见 #2636)
ilspycmd支持从多个项目生成解决方案(#2364)
修复 COM 接口方法、属性和事件的顺序,使其按最初定义的顺序出现(参见#2639)
允许用户在生成 PDB 时提供 ID(参见#2678)
假设按惯例命名的未解析方法引用是属性或事件(参见 #2677)
将 EnableWindowsTargeting 属性添加到针对 net6.0-windows 的 csprojs(参见 #2752)
减少 TransformArrayInitializers 中的分配(参见 #2731)
向 PortablePdbWriter 添加进度报告(参见#2802)
添加IEntityProcessor到ReflectionDisassembler(参见 #2835)
……
Enhancements
将 Setting 移至 ILSpyX(参见 #2869)。此外,自 Preview1 以来,许多独立于平台的 API 已移至 ICSharpCode.ILSpyX。ILSpyX 作为独立的 NuGet 包发布,供其他人重用。
分析器的性能优化(参见#2643)
类型系统和反编译器引擎的各种性能改进。(参见#2766和#2754)
#2684:迭代地取消隐藏编译器生成的代码,如果它被用户代码引用
在“Combine bit.and into shift”转换中支持 native ints
#2780:显示嵌入式资源大小
在获取 managed type 的大小时使用Unsafe.SizeOf
更多详情可查看更新说明。