Skip to content

ILSpy 3.0 Release Notes

Christoph Wille edited this page Jan 8, 2023 · 10 revisions

Release date: 12/18/2017 Downloads

This release's dominating theme was rearchitecting the underlying decompiler engine. Daniel provided a great write-up of what that all entailed in the newdecompiler architecture notes in this Wiki.

The goal for language support was to at least match version 2.4. This was achieved and a lot of "guessing" (which could result in incorrect code) from the old engine was turned into working decompiled C# code. The current state of language support is a "living" document that will change over time, and it will give you a good idea where we are at this very moment in time.

Aside from the architectural changes to the decompiler engine, we also went cross-platform with support for .NET Standard in ICSharpCode.Decompiler. This allowed us to move automation tasks from parameters on the WPF UI to a x-plat Linux / Mac / Windows command line application (.NET Core). If a command line application does not allow you enough programmability, there are also PowerShell cmdlets - again, x-plat and for PowerShell on Windows as well as PowerShell Core x-plat (note that both are a first iteration, and pwsh itself isn't RTM yet).

We are very happy that a Visual Studio Code extension was contributed based on the x-plat work we were doing. At this point we'd like to thank everyone who contributed bug reports, features ideas, pull requests and in general support helping us get this thing off the ground and into the hands of our users!

So - what do you get? Way better quality decompiled code, performance improvements (speed and memory), more options of frontends on more platforms than ever before, and we also snuck in a few new features / helpful additions:

  • Open assembly from NuGet package
  • NuGet package includes debug symbols and source code #943 (comment)
  • "Live" documentation code snippets via a Xamarin Workbooks demo
  • "IL with C#" view (including sequence points guessing)