Download Latest Version ILSpy_selfcontained_10.0.0.8282-preview2-x64.zip (76.4 MB)
Email in envelope

Get an email when there's a new version of ILSpy

Home / v9.1
Name Modified Size InfoDownloads / Week
Parent folder
ILSpy_Installer_9.1.0.7988-x64.msi 2025-04-22 4.0 MB
ILSpy_Installer_9.1.0.7988-arm64.msi 2025-04-22 4.0 MB
ILSpy.AddIn.VS2022_9.1.0.7988.vsix 2025-04-22 11.9 MB
ILSpy.AddIn.VS2017-2019_9.1.0.7988.vsix 2025-04-22 5.3 MB
ILSpy_selfcontained_9.1.0.7988-x64.zip 2025-04-22 72.2 MB
ILSpy_binaries_9.1.0.7988-x64.zip 2025-04-22 4.1 MB
ILSpy_binaries_9.1.0.7988-arm64.zip 2025-04-22 4.9 MB
ILSpy 9.1 source code.tar.gz 2025-04-21 2.2 MB
ILSpy 9.1 source code.zip 2025-04-21 3.8 MB
README.md 2025-04-21 3.3 kB
Totals: 10 Items   112.3 MB 24

ILSpy 9.x is based on .NET 8.0. All artifacts except the self-contained distribution are built framework-dependent, which means .NET 8.0.x or later must be installed prior to starting ILSpy. Note that ILSpy 9.1 also allows a later runtime via [#3391].

New Language Features

  • Update pattern-detection to Roslyn 4.13

Enhancements

  • [#1572]: Do not generate variable names that match C# keywords.
  • [#2716]: Add an option to allow sorting custom attributes
  • [#3377]: Extend error information if multiple assemblies with the same (short) name are selected when creating a solution file.
  • [#3393]: Option to turn off smooth scrolling
  • [#3399]: Add module filename as ToolTip of AnalyzerEntityTreeNode
  • [#3440]: Added support for evaluation-order-preserving reference type check
  • [#3316]: Add "variable scopes" to improve naming local variables and anonymous method parameters

Contributions

  • Add support for array initialization based on RuntimeHelpers.CreateSpan<T> (see [#3380] by @ds5678)
  • Load resource stream outside of delegate (see [#3389] by @snorrk)
  • Allow ILSpy to launch, when net8.0 is not installed, but a later version (see [#3391] by @nil4)
  • Fix nested namespace directories (see [#3449] by @ds5678)
  • Fix [#3402]: System.NullReferenceException on right click on .NET 9 (see [#3403] by @tom-englert)
  • Add an option to turn off smooth scrolling (see [#3405] by @tom-englert)
  • Use type hint in pointer arithmetic (see [#3413] by @ds5678)
  • Improve UI for primary constructors on non-record types (see [#3455] by @ds5678)
  • Fix exception when writing resx files without adding any resources (see [#3418] by @jwfx)
  • Enhance null handling in switch transformations (see [#3422] by @ds5678)
  • Don't include generic constraints in generated explicit overrides (see [#3443] by @ds5678)
  • Improve generation of not equals check (see [#3425] by @ElektroKill)

Bug fixes

  • Fix [#2269]: LocalFunctionDecompiler misplaces nested local functions in ctors
  • Fix [#3322]: Add missing checks for equality comparison
  • Fix [#3378]: Navigation shortcuts (Alt-Left and Alt-Right) don't work when TreeView has focus
  • Fix [#3381]: Make sure that selectedNode is still selected when focus is deferred in IsActive property changed handler.
  • Fix [#3383]: more aggressively transform object initializers on structs
  • Fix [#3384]: add special case for null-literal conversions in optional argument handling.
  • Fix [#3385]: Allow address uses of structs in using transform, if the reference is passed to an in parameter.
  • Fix [#3392]: uses of init-setters must use object-initializer syntax.
  • Fix [#3401]: Multiple problems when exporting an assembly as project
  • Fix [#3414]: Apply latest session settings before saving upon closing the main window
  • Fix [#3342]: Wrong null check in MethodVirtualUsedByAnalyzer
  • Fix [#3450]: Fix "Clear assembly list" not actually persistent.
  • Fix [#3432]: Do not include delegate construction use-sites in DetermineCaptureAndDeclarationScopes.
  • Fix attributes tooltip of GenericParam metadata table

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

Source: README.md, updated 2025-04-21