Aquí hi ha 4 versions d’ILSpy, des de 24 de juliol del 2025 fins a l’actual, 11.0.0.9223-preview1. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 11.0.0.9223-preview1Darrera versió | 19 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.
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.
Avalonia Cross Platform Port
- PR #3755: Avalonia 12 Port and Removal of the WPF UI
- PR #3759: Metadata explorer cleanup, flags-filter fixes, and WPF row-details parity
- PR #3766: Round-trip the legacy WPF SessionSettings shape
- PR #3768: Build, test, and package ILSpy on Linux and macOS in CI
- PR #3861: Show text-based resources inline with syntax highlighting
- PR #3875: Avalonia 12.1
- PR #3876: Keep BAML decompilation working when WPF assemblies are missing
New Features
- PR #3847: Unpack !AvaloniaResources into per-file resource tree nodes
- PR #3801: Fix #3797: resolve ilspycmd -t type names with fuzzy matching
- PR #3789: Add a bookmarks feature for the decompiled C# view
- PR #3786: Add omnibar breadcrumb and search bar above the decompiled code
- PR #3769: Make the override modifier a link to the overridden member
- PR #3762: Add Open from NuGet feed dialog for browsing and opening packages
User Interface
- PR #3857: Fix #2078: Generic local functions not highlighted properly
- PR #3855: Fix #3845: Add option to expand XML documentation comments
- PR #3814: Toggle the fold under the right-click, not at the caret
- PR #3812: Syntax-colour analyzer signatures with bold type names (#2164)
Enhancements
- PR #3872: Decompile await on dynamic expressions
- PR #3837: Fix #3804: decompile foreach over inline array
- PR #3791: Fix #3777: decompile runtime async without a separate C# 15 setting
- 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 #3816: Allow overriding an assembly's target framework for reference resolution
- PR #3840: Bound .rsrc resource-tree parsing against crafted input
- PR #3838: Guard against OOB read when bundle signature is at file start
- PR #3818: Display the IL 'tail.' prefix in C# output
- PR #3808: Migrate the VS extension to an SDK-style VSIX (dotnet build) and retire the VS2017/2019 add-in
- PR #3802: Fix #3799 and three related stackalloc initializer decompilation defects
- PR #3780: Compute public-key tokens with a managed SHA-1
Documentation
- PR #3868: CONTRIBUTING.md for the AI era
- PR #3870: Add decompiler architecture document
Testing / Infrastructure
- PR #3771: Run the decompiler test suite on Linux
- PR #3788: Use cross-platform separators for the FSharp.Core.dll test path
- PR #3807: Adopt SDK default Compile items in Decompiler and Decompiler.Tests
- PR #3815: Verify generated PDBs against the compiler's breakpoint map (PdbGen fixtures previously passed vacuously)
- PR #3836: Don't assert decompiled local types match the signature
- PR #3839: Add fine-grained debug steps with highlighting for C# and ILAst
- PR #3849: Set OpenSSL SHA1 flag in build scripts
- PR #3859: Add test coverage for untested corners of implemented language features
- PR #3874: Upload TestCases folder as artifact when CI tests fail
Contributions
- PR #3851: Fix #3850: recover ReadOnlySpan array literals from the legacy lazy cache — @sailro, thank you!
- PR #3878: Handle negative dictionary capacity in string switch transform — @ds5678, thank you!
- PR #3828: Fix #3826: wrap an overflowing constant subexpression in unchecked() — @sailro, thank you!
- PR #3831: Fix #3825: reconstruct async iterators with [EnumeratorCancellation] and await in finally — @sailro, thank you!
- PR #3830: Fix #3827: keep the while-loop for a ref local used after the loop (avoid an uninitialized hoisted ref decl) — @sailro, thank you!
- PR #3823: Fix #3821: keep ref-struct conditional as if/return, not ?. |
| 10.0.0.8323-preview3 | 25 de març del 2026 | — | 64 bits MSIARM64 MSI Notes de la versióThis preview release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
Enhancements
- Dedicated UI and Decompiler APIs for C# 14 extensions #3680
Contributions
- 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)
- Render operating system name as well as architecture if present (see #3653 by @MatthewSteeples)
- Refactor for cross platform port (see #3641by @lextm)
Bug Fixes
- Fix #3655: ExtractPackageEntryContextMenuEntry
- Fix #3684: Hide compiler-generated base-class forwarding accessor methods
- Fix #3674: Incorrect derived types shown, when generic type inherit from non-generic type with the same name.
- Fix #3671: TransformCollectionAndObjectInitializers mistakenly included trailing variable initialization.
For a full list of changes click here. |
| 10.0.0.8282-preview2 | 30 de desembre del 2025 | — | 64 bits MSIARM64 MSI Notes de la versióThis preview release is based on .NET 10.0. Please make sure that you have it installed on your machine beforehand.
New Language Features
- Update pattern detection to Roslyn 5.0 RTM
- C# 13: allows ref struct constraint
- C# 14: extension members
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)
User Interface
- #3521: Add API to set an initially highlighted entity after navigation
- Navigate visible history (see #3591 by @miloush)
- Improve WordBreak in CustomDialog (see #3535 by @CreateAndInject)
- Use AssemblyWarning when AssemblyReference load faulted (see #3013 by @workgroupengineering)
- Refactoring of EntityToString API (see #3635)
- Removed translations (see #3648)
Contributions
- Allow extracting multiple package entries (see #3508 by @CreateAndInject)
- 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)
- Improve decompilation of unmanaged function pointers (see #3620 by @ds5678)
- Improve decompilation of pre-increment operators (see #3472 by @ds5678)
- Fix #3462: Scrolling with scroll wheel breaks after using file search (see #3538 by @tom-englert)
- Support batch PDB generation (see #3619 by @sonyps5201314)
- 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 GeneratePdbForAssembly with GeneratePdbForAssemblies to improve user experience and remove redundant code. (see #3630 by @sonyps5201314)
- Fix the issue where PDBs generated by ILSpy do not match (see #3629 by @sonyps5201314)
- Do not use ObservableObject when ObservableObjectBase is sufficient. (see #3644 by @tom-englert)
API Clean-up
- Removed legacy UnresolvedUsingScope
- Renamed ResolvedUsingScope to UsingScope
- Removed legacy ToTypeReference
- Removed ITypeReference and implementations
Bug fixes
- Fix #3524: Property without backing field cannot have an initializer.
- Fix #3512: Local function name collides with local variable name
- Fix #2165: DeclareVariables step must update ResolveResult annotation when using out var.
- Fix #3518 by replacing FixLoneIsInst with an inlining restriction.
- Fix #3465: Operator '>' cannot be applied to operands of type 'X' and 'X'
- Fix #3468: Try harder to avoid ref locals if UseRefLocalsForAccurateOrderOfEvaluation is not enabled.
- Fix #3323: Simplify cleanup in AwaitInFinallyTransform, ensuring that we do not miss any containers.
- Fix #1873: Clear ILRange in CopyPropagation
- Fix #1789: missing hyperlink for MethodGroupResolveResult.
- Fix #3476: Scroll position not restored when navigating back
- Fix #3545: Covariant return not detected for abstract override property
- Fix # |
| 10.0.0.8079-preview1 | 24 de juliol del 2025 | — | 64 bits MSIARM64 MSI Notes de la versióThis preview release is based on preview 6 of .NET 10.0. Please make sure that you have it installed on your machine beforehand.
New Language Features
- #3467: C# 12 InlineArrays
- #3500: Added .NET 10 as test target
- #3500: Added minimal language feature support to successfully detect new code patterns used in .NET 10
Enhancements
- #3519: Add API diff feature. Please see the PR for how this feature works, and in the collapsed region at the end of the release notes how such an API diff report could look like (full file is attached to release as ICSharpCode.Decompiler9.1to10Preview1Changes_ApiDiff.md).
- #3494: Add dynamic ILSpy settings options to ILSpyCmd
- #3489: Make WholeProjectDecompiler.CreateDecompiler protected virtual to make the decompilation pipeline extensible.
Contributions
- Add configuration option to check for overflow and underflow (see #3484 by @ds5678)
- Allow creating a MetadataFile with a MetadataReader / MetadataStringDecoder (see #3487 by @lordmilko)
- Add an option to not transform Activator.CreateInstance<T>() to new T() (see #3497 by @DoctorKrolic)
- TargetFramework and TargetServices APIs are now public (see #3501 by @nikitalita)
- Support disassembling single file bundle for ILSpy (see #3398 by @cshung)
- Fix stack overflow exception in CSharpResolver (see #3471 by @ds5678)
- Handle explicit optional parameter after default parameter (see #3470 by @ds5678)
- Fix disassembler output, correcting flag(NUM) to flags(NUM) (see #3473 by @hez2010)
- Fix null reference exception when writing resource files (see #3474 by @ds5678)
- Fix SDK-style (modern) inter-project references (see #3502 by @petercrabtree)
- Fix incorrect method match for static methods with instance signature (see #3504 by @MSchmoecker)
Performance
- #3486: Remove XML serialization from DecompilerSettings in ILSpy
Bug fixes
- Fix #3464: Missing cast in interpolated string
- Fix #3482: Drag and Drop is no longer working in the Assemblies tree view.
- Fix #3492: Do not crash, if field used by RuntimeHelpers.InitializeArray is malformed.
And many other fixes, for a full list click here. |