> Linux新闻 >

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# 10abstract 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 与旧插件分开。

更新说明:https://github.com/icsharpcode/ILSpy/releases/tag/v7.2

(责任编辑:IT)