
ILSpy v10.1.1
.NET Decompiler con supporto per PDB generation, ReadyToRun, Metadata (e altro) - multipiattaforma!
ILSpy

ILSpy è il browser e decompilatore di assembly .NET open source e multipiattaforma. L'interfaccia desktop gira su Windows, Linux e macOS (basata su Avalonia).
Download: ultima release | ultima build CI (master) | Microsoft Store (solo versioni RTM)
Decompiler Frontends
Oltre all'interfaccia desktop multipiattaforma ILSpy (scaricabile tramite Releases, vedi anche i plugin), sono disponibili i seguenti altri frontend:
- Visual Studio 2022/2026 supporta la decompilazione con F12 abilitata per impostazione predefinita (usando rispettivamente i nostri motori v8.2 e v9.1).
- La nostra estensione per Visual Studio 2022 marketplace (funziona anche con VS 2026)
- La nostra estensione per Visual Studio Code repository | marketplace | open-vsx
- Il nostro strumento dotnet per Linux/Mac/Windows - dai un'occhiata a ILSpyCmd in questo repository | installazione dello strumento dotnet
- C# for Visual Studio Code include anche il supporto alla decompilazione. Per abilitarlo, attiva l'impostazione "Enable Decompilation Support".
- In Visual Studio 2019, devi abilitare manualmente il supporto F12. Vai su Tools / Options / Text Editor / C# / Advanced e spunta "Enable navigation to decompiled source"
- I nostri pacchetti NuGet ICSharpCode.Decompiler e ILSpyX per i tuoi progetti
- I nostri cmdlet PowerShell per Linux/Mac/Windows in questo repository
Features
- Decompilazione in C# (consulta lo stato del supporto linguistico)
- Decompilazione dell'intero progetto
- Apertura da feed NuGet, da processo in esecuzione oltre che da disco e GAC (solo Windows)
- Ricerca di tipi/metodi/proprietà (scopri le opzioni)
- Navigazione basata su collegamenti ipertestuali tra tipi/metodi/proprietà, segnalibri
- Navigazione tra tipi base/derivati, cronologia
- Esploratore dei metadati degli assembly (panoramica della funzionalità)
- Decompilatore da BAML a XAML, supporto !AvaloniaResources
- Supporto dei binari ReadyToRun per .NET Core (vedi il tutorial)
- Estensibile tramite plugin
- Funzionalità aggiuntive nelle build DEBUG (per gli sviluppatori)
License
ILSpy è distribuito sotto la licenza MIT. Per i dettagli, consulta il documento About, nonché gli avvisi di terze parti per le librerie open-source incluse.
How to build
Windows:
- Assicurati che sia installato Windows PowerShell (almeno versione) 5.0 o PowerShell 7+.
- Clona il repository ILSpy usando git.
- Esegui
git submodule update --init --recursiveper scaricare il sottomodulo ILSpy-Tests (usato da alcuni casi di test). - Installa Visual Studio (versione documentata: 18.0/2026). Sono necessari i seguenti componenti del carico di lavoro:
- Carico di lavoro ".NET Desktop Development". Questo carico di lavoro include .NET Framework 4.8 SDK e il targeting pack di .NET Framework 4.7.2, oltre al .NET 10.0 SDK (ILSpy.csproj ha come target .NET 10.0, ma abbiamo anche progetti net472). I nostri test unitari richiedono .NET 11.0 SDK.
- Carico di lavoro "Visual Studio extension development" (Nota: ILSpy.VSExtensions.slnx è separato da ILSpy.sln, quindi questo carico di lavoro è opzionale)
- Componente individuale "MSVC v143 - VS 2022 C++ x64/x86 build tools" (o simile)
- Il toolset VC++ è opzionale; se presente, viene usato per
editbin.exeper modificare la dimensione dello stack usata da ILSpy.exe da 1MB a 16MB, poiché il decompilatore fa ampio uso di ricorsione, dove dimensioni ridotte dello stack causano problemi in metodi molto complessi.
- Il toolset VC++ è opzionale; se presente, viene usato per
- Apri ILSpy.sln in Visual Studio.
- Il ripristino dei pacchetti NuGet scaricherà automaticamente le dipendenze aggiuntive
- Esegui il progetto "ILSpy" per l'interfaccia utente di ILSpy
- Usa "Test Explorer" di Visual Studio per vedere/eseguire i test
- Se sei interessato solo a un sottoinsieme specifico di ILSpy, puoi anche usare
- ILSpy.Desktop.slnf: per l'interfaccia utente Avalonia multipiattaforma e i relativi test
- ILSpy.XPlat.slnf: per la CLI multipiattaforma (ilspycmd) o i cmdlet PowerShell
- ILSpy.VSExtensions.slnx: per le estensioni di Visual Studio
Nota: Visual Studio include una versione di .NET SDK gestita dal programma di installazione di Visual Studio: una volta aggiornato, potrebbe venire aggiornata anche questa. Tieni presente che ILSpy è compatibile solo con .NET 11.0 SDK e Visual Studio rifiuterà di caricare alcuni progetti nella soluzione (e i test unitari falliranno). Se si verifica questo problema, installa manualmente .NET 11.0 SDK da qui.
Unix / Mac:
- Assicurati che siano installati .NET 10.0 SDK (per l'esecuzione) e .NET 11.0 SDK (per i test).
- Assicurati che sia installato PowerShell (precedentemente noto come PowerShell Core)
- Clona il repository usando git.
- Esegui
git submodule update --init --recursiveper scaricare il sottomodulo ILSpy-Tests (usato da alcuni casi di test). - Usa
dotnet build ILSpy.Desktop.slnfper compilare l'interfaccia desktop Avalonia multipiattaforma; eseguila condotnet run --project ILSpy. - Usa
dotnet build ILSpy.XPlat.slnfper compilare solo lo strumento CLI (ilspycmd) e i cmdlet PowerShell.
How to contribute
- Segnala bug
- Se vuoi contribuire con una pull request, aggiungi https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit ai tuoi
.git/hooksper evitare di committare codice con formattazione errata. Usiamo tab e non spazi. Il server di build esegue lo stesso script, quindi qualsiasi pull request con formattazione errata fallirà.
Contributori attuali e passati contributors.
Privacy Policy for ILSpy
ILSpy non raccoglie alcuna informazione personale identificabile, né invia file degli utenti a servizi di terze parti. ILSpy non utilizza alcun servizio APM (Application Performance Management) per raccogliere telemetria o metriche.