github icsharpcode/ILSpy v5.0
ILSpy 5.0

latest releases: v9.0-preview3, v9.0-preview2, v9.0-preview1...
5 years ago

ILSpy 5.0

New Language Features

New Features

  • Decompile a set of assemblies to a solution (#1550 by @dymanoid)
  • New BAML Decompiler
  • MSIX for Microsoft Store: @onovotny added build support (including Azure Pipelines).
  • Generate VS Windows Forms Designer-compliant code if a method is identified as Windows Forms InitializeComponent
  • Added new RemoveDeadStores option.
  • Added new AlwaysShowEnumMemberValues option.

Decompiler Engine Improvements & Bugfixes

  • Improved stability of decompiler and disassembler on invalid metadata tokens.
  • Improved decompilation in case not all types/references are available.
  • Added switch-on-string pattern for empty string case.
  • Add support for ReadOnlySpan<T> initialization pattern
  • Improved decompilation of ref readonly delegates and return types.
    • Improved decompilation of ref typed expressions, in particular ref/in extension methods and in parameters.
  • Improved support for Mono yield return state machines and closure types.
  • Improved decompilation of LINQ queries
  • PDB generator now can emit "method stepping information" for async #1422

Improvements & Bugfixes

  • Many minor bug and stability fixes.
  • Improved performance in ILInlining step
  • VSIX: Fix issue of missing dependencies

UI Improvements

  • Avoid blocking the UI when waiting on assembly load while restoring the saved position in the treeview
  • Support obfuscated names in treeview and search #1359
  • Escape non-printable characters in IL view
  • Rework C# decompiler options dialog (unify language settings panel)
  • Make indentation of decompiled code configurable.
  • Chinese translation by @maikebing (#1299) screenshots
  • Small improvements in search panel by @mcpiroman (#1476)
  • Show error message if an entity cannot be analyzed instead of crashing.
  • Improved linking in the decompiler view:
    • method group / delegate references
    • the constructor of an attribute is reachable, by clicking on the open/close parenthesis.
    • fixed fields are now properly linked
  • Added matching bracket highlighting
  • Updated to AvalonEdit 6.0 Preview

dotnet ilspycmd Tool

  • Add -d|-debuginfo option See Demo app
  • Add -r|-referencepath option

Architectural Changes

  • We dropped support for all TFMs except netstandard2.0 #1416
  • Reactivate many tests from old decompiler

Known issues & limitations

  • C# 8.0 nullable reference types metadata only supports the latest format. Note that this is a breaking change and assemblies generated by older preview versions of C# 8 are not supported. (See #1619 (comment))
  • Generic local functions are not yet supported (#1588)
  • "Open assembly from GAC" may require administrator privileges (#1498)
  • Matching bracket highlighting does not yet support all language features that introduce new syntax.

Don't miss a new ILSpy release

NewReleases is sending notifications on new releases.