Skip to content

ILSpy 8.0 Preview 2

Pre-release
Pre-release
Compare
Choose a tag to compare
@christophwille christophwille released this 30 Jul 10:16
· 756 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.

New Language Features

  • C# 11: ref fields
  • C# 10: record structs
  • C# 10: Support DefaultInterpolatedStringHandler
  • Updated pattern detection for Roslyn 4.3.0
  • Output attributes on lambda expressions

Contributions

  • Allow user to provide ID when generating a PDB (see #2678 by @andrewcrawley)
  • Assume conventionally named unresolved method references are properties or events (see #2677 by @fowl2)
  • Add EnableWindowsTargeting propery to csprojs targeting net6.0-windows (see #2752 by @clin1234)
  • Reduce allocations in TransformArrayInitializers (see #2731 by @ElektroKill)
  • Fix allowed language versions in ilspycmd (see #2703 by @superstrom)
  • Fix crash target framework detection with C++/CLI (see #2698 by @kant2002)

Enhancements

  • #2684: Iteratively unhide compiler-generated code, if it is referenced by user-code
  • Use Unsafe.SizeOf when taking the size of a managed type
  • #2718: Move XAML files that have an x:Class declaration next to their C# counterparts when using WholeProjectDecompiler

Bug fixes

  • #2691: Do not use AssemblyDefintion.GetAssemblyName(). This fails in culture-invariant mode (ilspycmd) when trying to work with satellite assemblies, because System.Reflection.AssemblyName tries to retrieve CultureInfo of the assembly culture
  • #2733: Ignore bad metadata when trying to resolve ResolutionScope
  • #2741: CallBuilder produces invalid invocation target when disambiguating calls to protected methods

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