ILSpy ist der quelloffene, plattformübergreifende .NET-Assembly-Browser und -Decompiler. Die Desktop-Benutzeroberfläche läuft unter Windows, Linux und macOS (basierend auf Avalonia).
Neben der plattformübergreifenden Desktop-Benutzeroberfläche ILSpy (über Releases herunterladbar, siehe auch Plugins) sind folgende weitere 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-Erweiterung: Marketplace (funktioniert auch mit VS 2026)
Unser dotnet-Tool für Linux/Mac/Windows – schauen Sie sich ILSpyCmd in diesem Repository an | dotnet tool install
C# for Visual Studio Code wird ebenfalls mit Dekompilierungsunterstützung ausgeliefert. Zum Aktivieren setzen Sie die Einstellung „Enable Decompilation Support“.
In Visual Studio 2019 müssen Sie die F12-Unterstützung manuell aktivieren. Gehen Sie zu Extras / Optionen / Text-Editor / C# / Erweitert und aktivieren Sie „Enable navigation to decompiled source“.
ILSpy wird unter der MIT-Lizenz vertrieben. Weitere Details finden Sie im About-Dokument
sowie in den Hinweisen zu Drittanbietern für enthaltene Open-Source-Bibliotheken.
Build-Anleitung
Windows:
Stellen Sie sicher, dass Windows PowerShell (mindestens Version) 5.0 oder PowerShell 7+ installiert ist.
Klonen Sie das ILSpy-Repository mit git.
Führen Sie git submodule update --init --recursive aus, um das ILSpy-Tests-Submodul herunterzuladen (wird von einigen Testfällen verwendet).
Installieren Sie Visual Studio (dokumentierte Version: 18.0/2026). Sie benötigen die folgenden Workload-Komponenten:
Workload „.NET Desktop Development“. Diese Workload enthält das .NET Framework 4.8 SDK und das .NET Framework 4.7.2 Targeting Pack sowie das .NET 10.0 SDK (ILSpy.csproj zielt auf .NET 10.0, aber wir haben auch net472-Projekte). Unsere Komponententests erfordern das .NET 11.0 SDK.
Workload „Visual Studio extension development“ (Hinweis: ILSpy.VSExtensions.slnx ist getrennt von ILSpy.sln, daher ist diese Workload optional)
Einzelkomponente „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 verwendete Stackgröße von 1 MB auf 16 MB zu erhöhen, da der Decompiler stark auf Rekursion setzt und kleine Stackgrößen bei sehr komplexen Methoden zu Problemen führen.
Öffnen Sie ILSpy.sln in Visual Studio.
Die NuGet-Paketwiederherstellung lädt weitere Abhängigkeiten automatisch herunter
Führen Sie das Projekt „ILSpy“ für die ILSpy-Benutzeroberfläche aus
Verwenden Sie den Visual-Studio-„Test Explorer“, um die Tests anzusehen/auszuführen
Wenn Sie nur an einer bestimmten Teilmenge von ILSpy interessiert sind, können Sie außerdem 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-Installationsprogramm verwaltet wird – nach einem Update kann sie ebenfalls aktualisiert werden.
Bitte beachten Sie, dass ILSpy nur mit dem .NET 11.0 SDK kompatibel ist und Visual Studio sich weigert, einige Projekte in der Projektmappe zu laden (und Komponententests fehlschlagen).
Wenn dieses Problem auftritt, installieren Sie das .NET 11.0 SDK bitte manuell von hier.
Unix / Mac:
Stellen Sie sicher, dass das .NET 10.0 SDK (zum Ausführen) und das .NET 11.0 SDK (für Tests) installiert sind.
Stellen Sie sicher, dass PowerShell installiert ist (früher bekannt als PowerShell Core)
Klonen Sie das Repository mit git.
Führen Sie git submodule update --init --recursive aus, um das ILSpy-Tests-Submodul herunterzuladen (wird von einigen Testfällen verwendet).
Verwenden Sie dotnet build ILSpy.Desktop.slnf, um die plattformübergreifende Avalonia-Desktop-Benutzeroberfläche zu erstellen; führen Sie sie mit dotnet run --project ILSpy aus.
Verwenden Sie dotnet build ILSpy.XPlat.slnf, um nur das CLI-Tool (ilspycmd) und die PowerShell-Cmdlets zu erstellen.
Mitwirken
Fehler melden
Wenn Sie einen Pull-Request beitragen möchten, fügen Sie bitte https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit zu Ihrem .git/hooks hinzu, um das Einchecken von Code mit falscher Formatierung zu verhindern. Wir verwenden Tabulatoren und keine Leerzeichen. Der Build-Server führt dasselbe Skript aus, daher schlagen alle Pull-Requests mit falscher Formatierung fehl.
ILSpy erhebt keine personenbezogenen Daten und sendet keine Benutzerdateien an Dienste Dritter.
ILSpy verwendet keinen APM-Dienst (Application Performance Management) zum Sammeln von Telemetrie- oder Messdaten.