
.NET-Decompiler mit Unterstützung für PDB-Generierung, ReadyToRun, Metadaten (&mehr) - plattformübergreifend!
# 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 ist der quelloffene, plattformübergreifende .NET-Assembly-Browser und Decompiler. Die Desktop-Oberfläche läuft unter Windows, Linux und macOS (basiert auf [Avalonia](https://avaloniaui.net/)).
Download: [neueste Version](https://github.com/icsharpcode/ILSpy/releases) | [neuester CI-Build (master)](https://github.com/icsharpcode/ILSpy/actions?query=workflow%3A%22Build+ILSpy%22+branch%3Amaster+is%3Asuccess+event%3Apush) | [Microsoft Store (nur RTM-Versionen)](https://apps.microsoft.com/store/detail/ilspy-fresh/XP8C26VDWLP4T4)
Decompiler-Frontends
-------
Neben der plattformübergreifenden Desktop-Oberfläche ILSpy (herunterladbar über Releases, siehe auch [Plugins](https://github.com/icsharpcode/ILSpy/wiki/Plugins)) sind die folgenden weiteren Frontends verfügbar:
* Visual Studio 2022/2026 wird mit standardmäßig aktivierter Dekompilierungsunterstützung für F12 ausgeliefert (unter Verwendung unserer Engines v8.2 bzw. v9.1).
* Unsere Visual Studio 2022/2026-Erweiterung [Marketplace](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy2022)
* Unsere Visual Studio Code-Erweiterung [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)
* Unser dotnet-Tool für Linux/Mac/Windows – siehe [ILSpyCmd](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.ILSpyCmd) in diesem Repository | [dotnet tool install](https://www.nuget.org/packages/ilspycmd/)
* [C# for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) wird ebenfalls mit Dekompilierungsunterstützung ausgeliefert. Zur Aktivierung die Einstellung „Enable Decompilation Support“ aktivieren.
* Unsere NuGet-Pakete [ICSharpCode.Decompiler](https://www.nuget.org/packages/ICSharpCode.Decompiler/) und [ILSpyX](https://www.nuget.org/packages/ICSharpCode.ILSpyX/) für eigene Projekte
* Unsere [PowerShell-Cmdlets](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.Decompiler.PowerShell) für Linux/Mac/Windows in diesem Repository
Funktionen
-------
* Dekompilierung nach C# (siehe den [Status der Sprachunterstützung](https://github.com/icsharpcode/ILSpy/issues/829))
* Dekompilierung ganzer Projekte
* Öffnen aus NuGet-Feed, Öffnen aus laufendem Prozess zusätzlich zu Datenträger und GAC (nur Windows)
* Suche nach Typen/Methoden/Eigenschaften (mehr zu den [Optionen](https://github.com/icsharpcode/ILSpy/wiki/Search-Options))
* Hyperlink-basierte Navigation zu Typen/Methoden/Eigenschaften, Lesezeichen
* Navigation zu Basis-/abgeleiteten Typen, Verlauf
* Assembly-Metadaten-Explorer ([Funktionsübersicht](https://github.com/icsharpcode/ILSpy/wiki/Metadata-Explorer))
* BAML-zu-XAML-Decompiler, !AvaloniaResources-Unterstützung
* ReadyToRun-Binärdateiunterstützung für .NET Core (siehe das [Tutorial](https://github.com/icsharpcode/ILSpy/wiki/ILSpy.ReadyToRun))
* Erweiterbar über [Plugins](https://github.com/icsharpcode/ILSpy/wiki/Plugins)
* Zusätzliche Funktionen in DEBUG-Builds ([für die Entwickler](https://github.com/icsharpcode/ILSpy/wiki/Additional-Features-in-DEBUG-Builds))
Lizenz
-------
ILSpy wird unter der MIT-Lizenz vertrieben. Details finden Sie im [About](https://github.com/icsharpcode/ilspy/blob/master/doc/ILSpyAboutPage.txt)-Dokument
sowie in den [Hinweisen zu Drittanbietern](https://github.com/icsharpcode/ilspy/blob/master/doc/third-party-notices.txt) für enthaltene Open-Source-Bibliotheken.
So wird gebaut
------------
#### Windows:
- Stelle sicher, dass [PowerShell](https://github.com/PowerShell/PowerShell) 7+ installiert ist (Windows PowerShell ab Version 5.0 funktioniert ebenfalls)
- Klone das ILSpy-Repository mit git.
- Führe `git submodule update --init --recursive` aus, um das ILSpy-Tests-Submodul herunterzuladen (wird von einigen Testfällen verwendet).
- Installiere Visual Studio (dokumentierte Version: 18.0/2026). Du benötigst die folgenden Workload-Komponenten:
- Workload „.NET Desktop Development“. Dieser Workload enthält das .NET Framework 4.8 SDK und das .NET Framework 4.7.2 Targeting Pack sowie das [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) (ILSpy.csproj zielt auf .NET 10.0 ab, aber wir haben auch net472-Projekte). Unsere Unit-Tests erfordern das [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0).
- Workload „Visual Studio extension development“ (Hinweis: ILSpy.VSExtensions.slnx ist von ILSpy.slnx getrennt, daher ist dieser Workload optional)
- Einzelne Komponente „MSVC v143 - VS 2022 C++ x64/x86 build tools“ (oder ähnlich)
- _Das VC++-Toolset ist optional_; falls vorhanden, wird es für `editbin.exe` verwendet, um die von ILSpy.exe genutzte Stackgröße von 1 MB auf 16 MB zu ändern, da der Decompiler stark auf Rekursion setzt, wobei kleine Stackgrößen bei sehr komplexen Methoden zu Problemen führen.
- Öffne ILSpy.slnx in Visual Studio.
- Die NuGet-Paketwiederherstellung lädt weitere Abhängigkeiten automatisch herunter
- Führe das Projekt „ILSpy“ für die ILSpy-Benutzeroberfläche aus
- Verwende den Visual Studio „Test Explorer“, um die Tests anzuzeigen/auszuführen
- Wenn du nur an einer bestimmten Teilmenge von ILSpy interessiert bist, kannst du auch Folgendes verwenden:
- ILSpy.Desktop.slnf: für die plattformübergreifende Avalonia-Benutzeroberfläche und ihre Tests
- ILSpy.XPlat.slnf: für die plattformübergreifende CLI (ilspycmd) oder PowerShell-Cmdlets
- ILSpy.VSExtensions.slnx: für die Visual Studio-Erweiterungen
**Hinweis:** Visual Studio enthält eine Version des .NET SDK, die vom Visual Studio Installer verwaltet wird – sobald du ein Update durchführst, kann sie ebenfalls aktualisiert werden.
Bitte beachte, dass ILSpy nur mit dem .NET 11.0 SDK kompatibel ist und Visual Studio sich weigern wird, einige Projekte in der Lösung zu laden (und Unit-Tests werden fehlschlagen).
Wenn dieses Problem auftritt, installiere bitte das .NET 11.0 SDK manuell von [hier](https://dotnet.microsoft.com/download/dotnet/11.0).
#### Unix / Mac:
- Stelle sicher, dass das [.NET 10.0 SDK](https://dotnet.microsoft.com/download/dotnet/10.0) (zum Ausführen) und das [.NET 11.0 SDK](https://dotnet.microsoft.com/download/dotnet/11.0) (für Tests) installiert sind. Besser noch: Verwende [dotnetup](https://github.com/dotnet/sdk/tree/release/dnup/documentation/general/dotnetup) mit dem SDK-Kanal „preview“.
- Stelle sicher, dass [PowerShell](https://github.com/PowerShell/PowerShell) installiert ist (früher bekannt als PowerShell Core)
- Klone das Repository mit git.
- Führe `git submodule update --init --recursive` aus, um das ILSpy-Tests-Submodul herunterzuladen (wird von einigen Testfällen verwendet).
- Verwende `dotnet build ILSpy.Desktop.slnf`, um die plattformübergreifende Avalonia-Desktop-Benutzeroberfläche zu erstellen; führe sie mit `dotnet run --project ILSpy` aus.
- Verwende `dotnet build ILSpy.XPlat.slnf`, um nur das CLI-Tool (ilspycmd) und die PowerShell-Cmdlets zu erstellen.
Wir empfehlen [Visual Studio Code](https://code.visualstudio.com/) oder Derivate zusammen mit [DotRush](https://github.com/JaneySprings/DotRush), das auch für Derivate von VS Code verfügbar ist.
Wie du beitragen kannst
-----------------
- Melde Fehler
- Wenn du einen Pull Request beitragen möchtest, füge bitte https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit zu deinen `.git/hooks` hinzu, um zu verhindern, dass Code mit falscher Formatierung eingecheckt wird. Wir verwenden Tabs und keine Leerzeichen. Der Build-Server führt dasselbe Skript aus, daher werden alle Pull Requests mit falscher Formatierung fehlschlagen.
Aktuelle und frühere [Mitwirkende](https://github.com/icsharpcode/ILSpy/graphs/contributors).
Datenschutzerklärung für ILSpy
------------------------
ILSpy sammelt keine personenbezogenen Daten und sendet keine Benutzerdateien an Dienste Dritter.
ILSpy verwendet keinen APM-Dienst (Application Performance Management) zum Sammeln von Telemetrie oder Metriken.