
.NET Decompiler con supporto per PDB generation, ReadyToRun, Metadata (e altro) - multipiattaforma!
# ILSpy [](https://nuget.org/packages/ICSharpCode.Decompiler)  [](https://hachyderm.io/@ilspy) [](https://bsky.app/profile/ilspy.bsky.social) [](https://visualstudiogallery.msdn.microsoft.com/8ef1d688-f80c-4380-8004-2ec7f814e7de)
ILSpy è il browser e decompilatore di assembly .NET open-source e multipiattaforma. L'interfaccia desktop funziona su Windows, Linux e macOS (basata su [Avalonia](https://avaloniaui.net/)).
Download: [ultima release](https://github.com/icsharpcode/ILSpy/releases) | [ultima build CI (master)](https://github.com/icsharpcode/ILSpy/actions?query=workflow%3A%22Build+ILSpy%22+branch%3Amaster+is%3Asuccess+event%3Apush) | [Microsoft Store (solo versioni RTM)](https://apps.microsoft.com/store/detail/ilspy-fresh/XP8C26VDWLP4T4)
Frontend del decompilatore
-------
Oltre all'interfaccia desktop multipiattaforma ILSpy (scaricabile tramite le Release, vedi anche i [plugin](https://github.com/icsharpcode/ILSpy/wiki/Plugins)), 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](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy2022)
* La nostra estensione per Visual Studio Code [repository](https://github.com/icsharpcode/ilspy-vscode) | [marketplace](https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode) | [open-vsx](https://open-vsx.org/extension/icsharpcode/ilspy-vscode)
* Il nostro strumento dotnet per Linux/Mac/Windows - dai un'occhiata a [ILSpyCmd](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.ILSpyCmd) in questo repository | [dotnet tool install](https://www.nuget.org/packages/ilspycmd/)
* [C# for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) include anch'esso il supporto alla decompilazione. Per abilitarlo, attiva l'impostazione "Enable Decompilation Support".
* I nostri pacchetti NuGet [ICSharpCode.Decompiler](https://www.nuget.org/packages/ICSharpCode.Decompiler/) e [ILSpyX](https://www.nuget.org/packages/ICSharpCode.ILSpyX/) per i tuoi progetti
* I nostri [cmdlet PowerShell](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.Decompiler.PowerShell) per Linux/Mac/Windows in questo repository
Funzionalità
-------
* Decompilazione in C# (dai un'occhiata allo [stato del supporto del linguaggio](https://github.com/icsharpcode/ILSpy/issues/829))
* 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](https://github.com/icsharpcode/ILSpy/wiki/Search-Options))
* Navigazione tra tipi/metodi/proprietà tramite collegamenti ipertestuali, segnalibri
* Navigazione tra tipi base/derivati, cronologia
* Esploratore dei metadati dell'assembly ([panoramica della funzionalità](https://github.com/icsharpcode/ILSpy/wiki/Metadata-Explorer))
* Decompilatore da BAML a XAML, supporto !AvaloniaResources
* Supporto ai binari ReadyToRun per .NET Core (vedi il [tutorial](https://github.com/icsharpcode/ILSpy/wiki/ILSpy.ReadyToRun))
* Estendibile tramite [plugin](https://github.com/icsharpcode/ILSpy/wiki/Plugins)
* Funzionalità aggiuntive nelle build DEBUG ([per gli sviluppatori](https://github.com/icsharpcode/ILSpy/wiki/Additional-Features-in-DEBUG-Builds))
Licenza
-------
ILSpy è distribuito con licenza MIT. Consulta il documento [About](https://github.com/icsharpcode/ilspy/blob/master/doc/ILSpyAboutPage.txt) per i dettagli,
nonché le [note di terze parti](https://github.com/icsharpcode/ilspy/blob/master/doc/third-party-notices.txt) per le librerie open-source incluse.
Come compilare
------------
#### Windows:
- Assicurati che [PowerShell](https://github.com/PowerShell/PowerShell) 7+ sia installato (anche Windows PowerShell versione almeno 5.0 funziona)
- Clona il repository ILSpy usando git.
- Esegui `git submodule update --init --recursive` per 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](https://dotnet.microsoft.com/download/dotnet/10.0) (ILSpy.csproj ha come target .NET 10.0, ma abbiamo anche progetti net472). I nostri unit test richiedono [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0).
- 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.exe` per 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.
- 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](https://dotnet.microsoft.com/download/dotnet/11.0).
#### Unix / Mac:
- Assicurati che [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) (per l'esecuzione) e [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0) (per i test) siano installati. Meglio ancora, usa [dotnetup](https://github.com/dotnet/sdk/tree/release/dnup/documentation/general/dotnetup) con il canale SDK preview.
- Assicurati che [PowerShell](https://github.com/PowerShell/PowerShell) sia installato (precedentemente noto come PowerShell Core)
- Clona il repository usando git.
- Esegui `git submodule update --init --recursive` per scaricare il sottomodulo ILSpy-Tests (usato da alcuni casi di test).
- Usa `dotnet build ILSpy.Desktop.slnf` per compilare l'interfaccia desktop Avalonia multipiattaforma; eseguila con `dotnet run --project ILSpy`.
- Usa `dotnet build ILSpy.XPlat.slnf` per compilare solo lo strumento CLI (ilspycmd) e i cmdlet PowerShell.
Consigliamo [Visual Studio Code](https://code.visualstudio.com/) o derivati insieme a [DotRush](https://github.com/JaneySprings/DotRush), disponibile anche per i derivati di VS Code.
Come contribuire
-----------------
- Segnala bug
- Se vuoi contribuire con una pull request, aggiungi https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit ai tuoi `.git/hooks` per 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](https://github.com/icsharpcode/ILSpy/graphs/contributors) attuali e passati.
Informativa sulla privacy per ILSpy
------------------------
ILSpy non raccoglie alcuna informazione di identificazione personale, né invia file degli utenti a servizi di terze parti.
ILSpy non utilizza alcun servizio APM (Application Performance Management) per raccogliere telemetria o metriche.