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 targetnetstandard2.0
- Note: The
- 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; useawait 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.