
ILSpy v11.0-preview1
.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 funziona su Windows, Linux e macOS (basata su Avalonia).
Download: ultima release | ultima build CI (master) | Microsoft Store (solo versioni RTM)
Frontend del decompilatore
Oltre all'interfaccia desktop multipiattaforma ILSpy (scaricabile tramite le Release, vedi anche i plugin), sono disponibili i seguenti altri frontend:
- Visual Studio 2022/2026 includono il supporto alla decompilazione per F12 abilitato per impostazione predefinita (utilizzando rispettivamente i nostri motori v8.2 e v9.1).
- La nostra estensione per Visual Studio 2022/2026 marketplace
- 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 | dotnet tool install
- C# for Visual Studio Code include anch'esso il supporto alla decompilazione. Per abilitarlo, attiva l'impostazione "Enable Decompilation Support".
- I nostri pacchetti NuGet ICSharpCode.Decompiler e ILSpyX per i tuoi progetti
- I nostri cmdlet PowerShell per Linux/Mac/Windows in questo repository
Funzionalità
- Decompilazione in C# (dai un'occhiata allo stato del supporto del linguaggio)
- Decompilazione dell'intero progetto
- Apertura da feed NuGet, apertura da processo in esecuzione oltre che da disco e GAC (solo Windows)
- Ricerca di tipi/metodi/proprietà (scopri le opzioni)
- Navigazione tra tipi/metodi/proprietà tramite collegamenti ipertestuali, segnalibri
- Navigazione tra tipi base/derivati, cronologia
- Esploratore dei metadati dell'assembly (panoramica della funzionalità)
- Decompilatore da BAML a XAML, supporto !AvaloniaResources
- Supporto ai binari ReadyToRun per .NET Core (vedi il tutorial)
- Estendibile tramite plugin
- Funzionalità aggiuntive nelle build DEBUG (per gli sviluppatori)
Licenza
ILSpy è distribuito con licenza MIT. Consulta il documento About per i dettagli, nonché le note di terze parti per le librerie open-source incluse.
Come compilare
Windows:
- Assicurati che PowerShell 7+ sia installato (anche Windows PowerShell versione almeno 5.0 funziona)
- 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 workload:
- Workload ".NET Desktop Development". Questo workload include .NET Framework 4.8 SDK e .NET Framework 4.7.2 targeting pack, oltre a .NET 10.0 SDK (ILSpy.csproj ha come target .NET 10.0, ma abbiamo anche progetti net472). I nostri unit test richiedono .NET 11.0 SDK.
- Workload "Visual Studio extension development" (Nota: ILSpy.VSExtensions.slnx è separato da ILSpy.slnx e quindi questo workload è 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, perché il decompilatore fa ampio uso della ricorsione, dove dimensioni ridotte dello stack causano problemi in metodi molto complessi.
- Il toolset VC++ è opzionale; se presente viene usato per
- Apri ILSpy.slnx in Visual Studio.
- Il ripristino dei pacchetti NuGet scaricherà automaticamente ulteriori dipendenze
- Esegui il progetto "ILSpy" per l'interfaccia utente di ILSpy
- Usa il "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 suoi 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 dell'SDK .NET gestita dal programma di installazione di Visual Studio - una volta aggiornato, potrebbe essere aggiornata anch'essa. Tieni presente che ILSpy è compatibile solo con .NET 11.0 SDK e Visual Studio si rifiuterà di caricare alcuni progetti nella soluzione (e gli unit test falliranno). Se si verifica questo problema, installa manualmente .NET 11.0 SDK da qui.
Unix / Mac:
- Assicurati che .NET 10.0 SDK (per l'esecuzione) e .NET 11.0 SDK (per i test) siano installati. Meglio ancora, usa dotnetup con il canale SDK preview.
- Assicurati che PowerShell sia installato (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.
Consigliamo Visual Studio Code o derivati insieme a DotRush, disponibile anche per i derivati di VS Code.