github icsharpcode/ILSpy v6.0-preview4
ILSpy 6.0 Preview 4

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

New Language Features

  • C# 8.0: Indexing and Slices (Ranges)

New Features

  • TEMPORARILY REMOVED #2013 (comment): Added the capability to extract self-contained executables (PublishSingleFile)
  • Project export: Added an option to allow SDK-style format for project files. (#2031 by @dymanoid)
  • Dynamic assembly list generation for target framework
  • Analyzers: Added "Implements interface"-Analyzer (#2028 by @dymanoid)

UI Improvements

  • Using the middle mouse button to click on tree nodes and links will open the decompilation result in a new tab.
  • IL/IL with C#/ReadyToRun: Add metadata token hyperlinks to type, field, property and event declarations.
  • IL/IL with C#/ReadyToRun: Add rich-text tooltips
  • Show target frameworks next to the assembly version in the tree-view

Enhancements

  • ReadyToRun: Using import cell name to describe callees (#1991 by @cshung)
  • ReadyToRun: Decorate the ready to run disassembly with DebugInfoBounds (#1987 by @cshung)
  • Improve ReduceNestingTransform by considering nested containers (#1880 by @Chicken-Bones)
  • The decompiler now supports Scalar Replacement Of Aggregates, which by default only works on display-classes and display-structs. There is an option to make it affect all instances and uses of plain types containing fields only. NOTE: It is still in preview stage. You can activate it when using a debug build.
  • Added support for null-propagation on unconstrained generic expressions
  • Added support for [module: NullablePublicOnly]
  • Enhanced assembly resolution to distinguish target frameworks and use the correct references in case there are multiple versions of framework assemblies loaded.
  • Updated links to MS Docs (#2030 by @AustinWise)
  • #1498: Remove Fusion API usage: Use standard file enumeration instead. This should enable us to use the GAC even with restricted access, as only the LIST permission is required.

PDB generation

  • Improved sequence points of try-catch statements

Bug fixes

  • Fix #1946: Don't move return into try block when doing so changes the semantics of a finally block.
  • Fix #1992: Analyzer fails to find usages of a type when it is used as a type argument
  • Workaround dotnet/roslyn#43659 in decompiled code.
  • And many other fixes, for a full list click here.

Don't miss a new ILSpy release

NewReleases is sending notifications on new releases.