ILSpy 7.2 发布,.NET 反编译工具
ILSppy 是一个开源的 .NET 反编译工具。目前,ILSpy 7.2 现已发布,具体更新内容如下:
New Language Features
- C# 7.0 模式匹配
- C# 8.0 嵌套表达式中的 stackalloc
- C# 9.0 跳过 locals init
- C# 9 协变返回
- C# 10 文件范围的
namespace声明 - C# 10
abstract static接口成员 - 更新了 Roslyn 4.0 的模式检测
- 更新了 Mono C# 编译器 5.x 的模式检测
- 更新 Roslyn 3.11 的模式检测
Contributions
- 引入基于 MSI 的安装程序(#2558)
- ILSpyCmd:增加了对单文件包的支持(#2499)
- 支持加载压缩的 Xamarin 程序集(#2471)
- BAML 反编译器:添加缺失的
x:Static(#2536) - records 模式检测的各种改进(#2476)
- 将 TypeDefinitionDocuments 添加到自定义调试信息数据(#2578)
- 修复
MainWindow.OpenLinknet6.0(#2585) - 修复加载嵌入为资源的图标标(#2595)
- 使用 Trace.Listeners 而不是 Debug.Listeners(#2555)
- 更新 ReadyToRun。(#2489)
- Analyzers:仅返回有效模块(#2496)
- Extensibility:使 SearchTermMatches 虚拟化(#2494)
- 修复
BamlDecompilerTypeSystem.HasType中的 null check(#2509) - 更新了中文翻译(#2606)
Enhancements
- Assembly resolver:GetReferenceAssemblyPath 现在选择最接近的可用版本
- #1175:添加
inassembly:和innamespace:搜索谓词 - #2298 : 允许通过滚动更改 DecompilerTextView 的字体大小。
- #2404 : 切换 tabs 时缓存反编译结果
- 更好地支持语音命令/键盘导航
- 在
WholeProjectDecompiler中正确支持 Windows 10 的长路径。 - #2608 : 支持子菜单项
- 添加了 metadata explorer tables 的超链接
- 为
XamlDecompiler添加了简单的公共 API - 改进了 LoadedAssembly.GetTargetFrameworkId、LoadedAssembly.GetRuntimePackAsync 等的性能
- 改进的窗口菜单
- 向 Analyzer 添加了“Copy results”菜单项
- 向反编译器添加了 ETW 检测以进行性能测量
- 添加
DecompilerTypeSystem.CreateAsync以允许异步初始化 - #2522 : 在搜索类型时支持完全限定名称中的 backticks
- #2520 : 在深色主题中几乎看不到匹配的对
- ......
Bug 修复
- Dirkster99/AvalonDock#324 Navigator window a11y 修复
- #2579:使用“ILSpyInstance”mutex 等待第一个 ILSpy 实例准备好接收
WM_COPYDATA - #2615 : 由于 fp 舍入错误,溢出检查无法可靠地工作
- #2612 : 用 int.MaxValue 对 newarr 进行反编译会导致 OOME
- #2533:修复 pinned-region detection 中的各种错误修复。
- #2547 和 #2495:改进了 VB.NET 十进制常量的反编译。
- #2545:LINQ 不支持 null-forgiving 运算符,抑制转换。
- #2518 : 资源文件中的“Other resources”部分未正确显示
- #2534:处理接口中属性和事件的默认实现
- #2458,#2459:修复了 C++/CLI 生成的 IL 代码中的各种正确性问题。
- #2530:模式匹配检测中的稳定性修复
- #2378:解构检测中的稳定性修复
- 以及许多其他修复,完整列表可单击此处
ilspycmd
- 删除了 .NET Core 2.1 TFM,添加了 .NET 6.0 TFM
Visual Studio 插件
- 允许在 project 和 package references 上打开 ILSpy
- 现在有一个 VS2022 的插件 https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy2022 与旧插件分开。