Aquí hi ha 14 versions d’ILSpy, des de 12 de desembre del 2021 fins a l’actual, 11.1.0.9782. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
14 versions en 5 anys · unes 2,9 per any
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 11.1.0.9782Darrera versió | 22 de setembre del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióWant to learn how we built the Avalonia port of ILSpy? Join us October 6th for Move over, WPF! Avalonia for X-Plat Desktop Apps (with a lot of AI help)
A major focus of this release was to find the small (and not so small) bugs of the decompiler via a revamp of our testing by adding two new tools that allow mass-testing (for more information see TestTools/README.md):
- nugetfuzz: downloads packages from nuget.org and runs them through a DEBUG build of ilspycmd (sanity checks/assertions enabled). It records: crash, assertion fail, warnings in the decompiler output (as comment "IL_<nnnn>: ...") as well as any residue of compiler-generated identifiers in C# code (hints at missing language feature/pattern support).
- decompdiff: runs an assembly through two different versions of the decompiler (driven via ilspycmd) and calculates a diff of the generated source code.
You should see better decompilation results as an effect of this push and the general push of fixing previously reported decompiler bugs by users.
New Language Features
- PR #4014: Emit C# 7.1 default literals where the context supplies the type
- PR #3930: Decompile C# 14 implicit span conversions (first-class span types)
- PR #3975: Fix #3624: decompile semi-auto properties with the C# 14 field keyword
User Interface
- PR #4039: Fix five Avalonia UI regressions: mouse navigation, derived types, Enter, Delete, Analyze in the Analyzer pane
- PR #4056: Fix #4054: Accept drops from sources that do not permit the Move effect
- PR #4150: Fix #4146: keep Options section names readable on hover
- PR #3998: Fix #3996: edit the display font size in points, not pixels
- PR #4154: Fix #3526: show WPF resource entry names unescaped
- PR #4139: Scroll a node's new children into view when it is expanded
- PR #4129: Reject the name of an existing list in the assembly list prompt
- PR #4116: Fix #2093: find a navigation target in a reference assembly too
- PR #4117: Empty the panes when the assembly list is cleared
- PR #4044: Fix #4040: Compose accessibility and static overlays onto search result icons
- PR #4025: Fix package search and navigation follow-ups from #4023
- PR #3997: Fix #3993, #3994: main-menu shortcuts and dark-mode hover tooltips
- PR #4002: Give dark-theme syntax colors a perceptual contrast floor
- PR #3989: Prevent double dark conversion of syntax colors
- PR #3988: Keep the editor zoom separate from the configured font size
Contributions
- PR #4133: Remove the delegate cache left by a discarded method-group conversion — @dualfroz, thank you!
- PR #4134: Recognize a VB exception filter's type test — @dualfroz, thank you!
- PR #4053: Handle unresolved value-type call targets — @sonyps5201314, thank you!
- PR #4022: Improve floating-point fraction and negative constant reconstruction — @SychicBoy, thank you!
- PR #3897: Fix #3894: keep lambda parameter typing consistent — @sailro, thank you!
- PR #3888: Fix #3853: infer scoped locals from ref safety — @sailro, thank you!
- PR #3887: Model scoped and UnscopedRef lifetimes in the type system — @sailro, thank you!
- PR #3980: Keep instance-dependent assignments in constructors — @sailro, thank you!
Performance
- PR #4156: Keep the UI responsive while searching and drawing reference nodes
- PR #4106: Read the file system once per reference closure, not per reference
- PR #4023: Search inside packages without stalling, and navigate to what it finds
Enhancements
- PR #4158: Invent a syntax for ldtoken.
- PR #4147: Share the lookup and overload-resolution stages
- PR #4144: Share one escalation loop across the member-reference builders
- PR #4091: Split StackType.O into StackType.Obj+StackType.VT
- PR #4113: Remove ITypeReference
- PR #4090: Extend InferType() to every ILInstruction
- PR #4089: Always pass the type system into InferType().
- PR #4085: Pass the compilation to ILInstruction.CheckInvariant
- PR #4077: Improvements for type inference
- PR #4075: Infer the C# type of ldlen
- PR #4064: Expand nested conditi |
| 11.0.0.9375 | 12 d’agost del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióThe major news item of this release cycle is us porting ILSpy from WPF to Avalonia. With this port, ILSpy is now available on Linux and Mac in addition to Windows. Do note that there is no longer a WPF frontend, it was entirely removed in favor of the new Avalonia one.
Aside from this already major UI work, a few other long-standing UI features from our wish list made it into ILSpy:
- File / Open from NuGet feed
- File / Open from running process (all platforms!)
- Window / Bookmarks (full-featured bookmarks implementation for the decompiled C# view)
- View / Options / Display / Show Omnibar (breadcrumb/search bar feature at the top of decompiled code)
A second focus area was improving the ilspycmd story for agentic development. Download numbers for our dotnet tool took off in the last quarter of 2025, and agents like Claude are the reason for that (downloads are now exceeding 70k/week). Given we are using Claude as well, we found a few areas lacking that needed improvement, especially to save on token spend:
- PR #3924: ilspycmd: add --member for single-member decompilation
- PR #3801: Fix #3797: resolve ilspycmd -t type names with fuzzy matching
- PR #3951: Add --dump-table metadata dump mode to ilspycmd
Together with list/extract embedded resources, decompile BAML to XAML which shipped in 10.1, we now have a good set of optimized options for the most common scenarios in skills and tool calling available for you.
A part of this initiative was hardening:
- PR #3843: Bound XamarinCompressedFileLoader against crafted XALZ headers
- PR #3842: Bound WebCilFile section access against mapped-view length
- PR #3841: Harden BAML reader against crafted-resource crashes
- PR #3840: Bound .rsrc resource-tree parsing against crafted input
- PR #3838: Guard against OOB read when bundle signature is at file start
The third pillar of this release is fixing long-standing annoyances and in general investing in tech debt, eg fuzzing our decompiler engine with NuGet packages. A lot (!) of the changes detailled in the release notes for preview 1 and rc deal with exactly those many small to big improvements.
Finally, we'd like to point out one retirement: the VS2017/2019 add-in has been removed, we continue to support VS2022-2026.
What is new since RC?
- PR #3976: Fix #3451: qualify an explicit implementation as the type implements it
- PR #3971: Fix #3510: keep exporting a project when a member cannot be decompiled
- PR #3969: Keep null-conditional LINQ chains in method syntax — @sailro, thank you!
- PR #3970: Generate DecompilerSettings boilerplate from [DecompilerSetting] attributes
- PR #3967: Keep ref-returning switches as statements — @sailro, thank you!
- PR #3950: Reconstruct nested deconstruction designations
- PR #3956: Fix #3952: decompile VB.NET anonymous types and queries to valid C#
- PR #3959: Fix overflow approximating fractions of large negative constants
- PR #3960: Fix overflow computing the element count of a multi-dim array initializer
- PR #3961: Recognize a protected copy constructor on a sealed record
- PR #3958: Fix crash decompiling reference assemblies with stripped method bodies
- PR #3955: Fix #3954: name the entry point of a top-level program 'Main'
For a full list of changes click here.
This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
Note for Mac users: see https://github.com/icsharpcode/ILSpy/wiki/Build-Artifacts#running-the-macos-artifact because the ILSpy.app is neither signed nor notarized. |
| 10.1.1.8388 | 14 de juliol del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióWarning
We DO NOT own the domain ilspy[.]org See #3709
Download ILSpy only from GitHub Releases!
This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
Bug Fixes
- Fix: Stop the assembly list from disposing removed assemblies |
| 10.1.0.8386 | 25 de maig del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióWarning
We DO NOT own the domain ilspy[.]org See #3709
Download ILSpy only from GitHub Releases!
This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
New Language Features
- .NET 11: runtime-async support. See also Runtime libraries are now compiled with runtime-async. Implemented via #3731
Enhancements
- #3730: List/extract embedded resources, decompile BAML to XAML in ilspycmd. This was added to address existing workarounds for decompilation skills.
- #3732: Reduce build warnings: lift IDisposable, fix CS9336 precedence bug, dispose evicted assemblies
Bug fixes
- Fix #3734: Search pane flickers when navigating to search result in large assembly
- Fix #3705: Code window is empty when select a .baml and refresh
For a full list of changes click here. |
| 10.0.1.8346 | 27 d’abril del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióWarning
We DO NOT own the domain ilspy[.]org See #3709
Download ILSpy only from GitHub Releases!
This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
Bug fixes
- Fix #3723: InvalidCastException when navigating to Metadata -> Tables -> 00 Module node
- Fix #3718: Incorrect current line, when click on ResolutionScope link in 01 TypeRef table
- Fix #3711: InvalidCastException when "Loading..." node is selected
- Fix #3703: Primary constructor is public
Enhancements
- #3715: Add CompilerOptions.UseRoslyn4_14_0
- #3713: Use releaseTag with fallback to downloadUrl in updates.xml
- #3695: .NET 11 for Tests
For a full list of changes click here. |
| 10.0.0.8330 | 6 d’abril del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióPSA We DO NOT own the domain ilspy dot org See #3709
This release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
New Language Features
- C# 13: allows ref struct constraint
- C# 14: extension members
- #3467: C# 12 InlineArrays
- Update pattern detection to Roslyn 5.0 RTM
- #3500: Added .NET 10 as test target
User Interface
- Dedicated UI and Decompiler APIs for C# 14 extensions #3680
- Navigate visible history (see #3591 by @miloush)
- Removed translations (see #3648)
- #3521: Add API to set an initially highlighted entity after navigation
- Improve WordBreak in CustomDialog (see #3535 by @CreateAndInject)
- Use AssemblyWarning when AssemblyReference load faulted (see #3013 by @workgroupengineering)
- Refactoring of EntityToString API (see #3635)
Enhancements
- CSharpConversions: General improvements, fixing various missing rules for C# up to version 9.
- #3344: Support ckfinite IL opcode in decompiler
- #3563: Disassembler: Add support for ildasm /caverbal format
- Detection of records and primary constructors: various bugfixes and improvements. (Special thanks to @sonyps5201314 and @mmusu3)
- #3519: Add API diff feature. Please see the PR for how this feature works.
- #3494: Add dynamic ILSpy settings options to ILSpyCmd
- #3489: Make WholeProjectDecompiler.CreateDecompiler protected virtual to make the decompilation pipeline extensible.
Contributions
- Allow extracting multiple package entries (see #3508 by @CreateAndInject)
- Render operating system name as well as architecture if present (see #3653 by @MatthewSteeples)
- Improve decompilation of unmanaged function pointers (see #3620 by @ds5678)
- Improve decompilation of pre-increment operators (see #3472 by @ds5678)
- Support batch PDB generation (see #3619 by @sonyps5201314)
- TargetFramework and TargetServices APIs are now public (see #3501 by @nikitalita)
- Allow creating a MetadataFile with a MetadataReader / MetadataStringDecoder (see #3487 by @lordmilko)
- Add configuration option to check for overflow and underflow (see #3484 by @ds5678)
- Support disassembling single file bundle for ILSpy (see #3398 by @cshung)
- Refactor for cross platform port (see #3641by @lextm)
- Fix in erroneously being applied to this (see #3682 by @nikitalita)
- Update TransformCollectionAndObjectInitializers to check for init-only properties (see #3678 by @nikitalita)
- Fix PowerShell PostBuild failing when solution path contains spaces (see #3669 by @Myself-Bloons)
- Replace FileVersionInfo.GetVersionInfo with DecompilerVersionInfo.Version constant (see #3667 by @MattParkerDev)
- Support allows ref struct constraint (see #3537 by @jjonescz)
- Allow passing an IDecompilerTypeSystem rather than a DecompilerTypeSystem to CSharpDecompiler (see #3529 by @lordmilko)
- Add DecompilerSettings.ExpandParamsArguments (see #3534 by @MSchmoecker)
- Add DecompilerSettings.AlwaysMoveInitializer: Always move initializer from static constructor to field initializer (see #3540 by @miloush)
- Fix #3462: Scrolling with scroll wheel breaks after using file search (see #3538 by @tom-englert)
- Fixes for primary constructors (see #3614 by @mmusu3)
- Improve inlining of boxed values (see #3587 by @ds5678)
- List name first in ILSpy title for multiple instances (see #3589 by @miloush)
- Improve Framework Id detection (see #3581 by @ds5678)
- Enable detection of .NET version without TargetFrameworkAttribute (see #3580 by @ds5678)
- Do not create object initializers for tuples (see #3579 by @ds5678)
- Fix lower case type name conflicting with variable name (see #3572 by @ds5678)
- Fix regression in decompiling local functions with default parameters (see #3560 by @ds5678)
- Copy-propagate the stack slot for collection initializers (see #3554 by @ds5678)
- Normalize UTF-8 BOM Marks and ps1 Indention (see #3546 by @petercrabtree)
- Minor Dev Environment Fixes (.editorconfig cleanup, typo fix, .gitignore tweak) (see #3544 by @petercrabtree)
- Replace GeneratePdbFo |
| 9.1.0.7988 | 22 d’abril del 2025 | — | 64 bits MSIARM64 MSI Notes de la versió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. |
| 9.0.0.7889 | 19 de gener del 2025 | — | 64 bits MSIARM64 MSI |
| 8.2.0.7535 | 9 de novembre del 2023 | — | 64 bits MSIARM64 MSI |
| 8.1.1.7464 | 3 de novembre del 2023 | — | 64 bits MSIARM64 MSI |
| 8.0.0.7345 | 21 de maig del 2023 | — | 64 bits MSI |
| 7.2.1.6856 | 4 d’abril del 2022 | — | 64 bits MSI Notes de la versióEnhancements
• Improved handling of nullability annotations on types involved in implicit conversions.
• Improved detection of pinned regions.
Bug fixes
• #2640: Invalid implicit enum value for unordered items
• #2646: Missing values for enums with skipped or duplicate items
• #2664: Fix NRE in ScopeSearchToAssembly.
• #2637: Add missing Microsoft.Win32.Registry dependency to nuspec.template
• #2582: Assertion when using named arguments in a constrained call
• #2654: Ignore custom attributes on parameter where SequenceNumber is out-of-range. |
| 7.2.0.6839 | 7 de febrer del 2022 | — | 64 bits MSI Notes de la versióNew Language Features
• C# 8.0: stackalloc in nested contexts
Contributions
• Add TypeDefinitionDocuments to custom debug information data (by @davidwengier in #2578)
• Fix MainWindow.OpenLink for net6.0 (by @yyjdelete in #2585)
• Fix loading icons embedded as resources. (by @AustinWise in #2595)
• Updated Chinese translation. (by @Nyerst in #2606)
Enhancements
• Updated AvalonEdit and other Nuget packages
• Added hyperlinks to metadata explorer tables
• Assembly resolver: GetReferenceAssemblyPath now picks closest available version
• Improved performance of LoadedAssembly.GetTargetFrameworkId, LoadedAssembly.GetRuntimePackAsync and others
• #2368: Dim namespaces containing only internal types
• Improved window menu
• #2608: Support for submenu items
• Added "Copy results" menu item to Analyzer
Bug fixes
• #2579: Use "ILSpyInstance" mutex to wait until the first ILSpy instance is ready to receive WM_COPYDATA.
• #2615: Overflow check did not work reliably due to fp rounding error.
• #2612: Decompilation of newarr with int.MaxValue causes OOME.
• #2622: Fix crash in ExpressionBuilder when decompiling object initializer composed of readonly properties.
• And many other fixes, for a full list click here. |
| 7.2.0.6791 | 12 de desembre del 2021 | — | 64 bits MSI |