github icsharpcode/ILSpy v4.0-beta1
ILSpy 4.0 Beta 1

latest releases: v9.0-preview1, v8.2, v8.1.1...
pre-release5 years ago

We want to thank all contributors, who provided fixes in this release: @Chicken-Bones, @ashmind and @cshung!
And we want to thank all testers, who provided feedback and tested very thoroughly, especially @greenozon, @mmusu3 and @tamlin-mike for their ongoing support!

New Language Features

  • C# 1.0/2.0 overloaded &&/|| operators
  • C# 4.0 optional arguments
  • C# 7.1 reference assemblies: ILSpy will show a warning if you are looking at a reference assembly
  • C# 7.2 non-trailing named arguments

Improved Pattern Detection

  • C# 6.0 string interpolation with FormattableString/IFormattable

Misc

  • Experimental PDBgen (no lambda support, no yield/async state machines; very basic C#)
  • New IAnalyzer API
  • Added IDocumentationProvider: allows providing XML doc comments from custom sources
  • Added IDebugInfoProvider: allows providing debug info (variable names and sequence points)

Contributions

  • Chicken-Bones: Improved block ordering in ConditionDetection (#1218)
  • ashmind: Decimal constant improvements (#1236)
  • cshung: Bug fix for #1224 (#1243)

Improvements & Bugfixes

  • Decompilation of invalid IL
  • Improved decompilation of C++/CLI constructs
  • Improved stability of analyzers

Architectural Changes

For ILSpy 4 we replace Mono.Cecil with System.Reflection.Metadata. The wiki entry on SRM deals at length with information that is important to addin writers, the background story and some of the performance/memory improvements you as a user of ILSpy can expect.

Our goal for this version given the underlying architectual changes is as follows: "As good or better as ILSpy 3.2 in terms of decompilation quality, stability, performance and memory usage."

Don't miss a new ILSpy release

NewReleases is sending notifications on new releases.