ILSpy v5.0 Release Notes

Release Date: 2019-09-19 // over 4 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.