Skip to content

ILSpy 8.0 Preview 1

Pre-release
Pre-release
Compare
Choose a tag to compare
@christophwille christophwille released this 20 Apr 10:14
· 853 commits to master since this release

ILSpy 8 is based on .NET 6.0 compared to .NET Framework 4.7.2 for the previous generations of ILSpy. All artifacts except the self-contained distribution are built framework-dependent, which means .NET 6.0 must be installed prior to starting ILSpy. This is true for:

  • the installer
  • the framework-dependent zip
  • the VSIXs

Functionality is supposed to be unchanged and fully functional in this release compared to 7.2. If something works in 7.2 but not 8.0-preview1, please file a bug.

Breaking Changes

  • ILSpy 8.0 will target net60-windows (see #2642) and all plugins will have to be migrated to the new platform.
    • Note: The ICSharpCode.Decompiler engine and NuGet package will continue to target netstandard2.0
  • Platform-independent APIs will be moved to ICSharpCode.ILSpyX, currently that includes (but is not limited to):
    • LoadedAssembly and AssemblyList APIs
    • PdbProvider APIs
  • LoadedAssembly.WaitUntilLoaded() was removed, because it leads to bugs; use await LoadedAssembly.GetLoadResultAsync() instead
  • The MSIX project has been removed and the installer introduced in 7.x will take its place in the Microsoft Store going forward (at RC/RTM).

Contributions

  • ilspycmd received support for the "nested directories" option on project export. (see #2636 by @GreyXor)
  • ilspycmd support for generating a solution from multiple projects (based on code provided by @marwie in #2364)
  • Namespace nesting in ILSpy tree view (based on code provided by @ds5678 in #2667)
  • Fix the ordering of COM interface methods, properties, and events to appear in their originally defined order (see #2639 by @zhuman)

Enhancements

  • Performance optimization of analyzers (see #2643)

Bug fixes

  • #2634: target expressions of delegate references were not decompiled correctly
  • #2632: Make sure that changing the setting "ExpandMemberDefinitions" has an effect when refreshing a decompiled view.
  • #2629: Indentation of method-call chains.
  • #2653: ILSpy reports wrong visibility for overridden protected internal properties if located in another assembly.
  • #2610: Explicitly qualify members in TemplateBindings.
  • #2655: TranslateArrayInitializer crashes with out of order array init

And many other fixes, for a full list click here.