
ILSpy v11.0-rc
.NET Декомпилятор с поддержкой генерации PDB, ReadyToRun, метаданных (&многое другое) - кроссплатформенный!
ILSpy

ILSpy — это открытый кроссплатформенный браузер сборок .NET и декомпилятор. Настольный интерфейс работает на Windows, Linux и macOS (построен на Avalonia).
Скачать: последний релиз | последняя сборка CI (master) | Microsoft Store (только версии RTM)
Фронтенды декомпилятора
Помимо кроссплатформенного настольного интерфейса ILSpy (доступен для скачивания в разделе Releases, см. также плагины), доступны следующие другие фронтенды:
- Visual Studio 2022/2026 поставляются с поддержкой декомпиляции по F12, включённой по умолчанию (используются наши движки v8.2 и v9.1 соответственно).
- Наше расширение для Visual Studio 2022/2026 marketplace
- Наше расширение для Visual Studio Code репозиторий | marketplace | open-vsx
- Наш инструмент dotnet для Linux/Mac/Windows — см. ILSpyCmd в этом репозитории | dotnet tool install
- C# for Visual Studio Code также поставляется с поддержкой декомпиляции. Чтобы включить её, активируйте настройку "Enable Decompilation Support".
- Наши NuGet-пакеты ICSharpCode.Decompiler и ILSpyX для ваших собственных проектов
- Наши командлеты PowerShell для Linux/Mac/Windows в этом репозитории
Возможности
- Декомпиляция в C# (см. статус поддержки языка)
- Декомпиляция всего проекта
- Открытие из канала NuGet, открытие из запущенного процесса в дополнение к диску и GAC (только Windows)
- Поиск типов/методов/свойств (узнайте о параметрах)
- Навигация по типам/методам/свойствам на основе гиперссылок, закладки
- Навигация по базовым/производным типам, история
- Обозреватель метаданных сборки (обзор возможностей)
- Декомпилятор BAML в XAML, поддержка !AvaloniaResources
- Поддержка бинарников ReadyToRun для .NET Core (см. руководство)
- Расширяемость через плагины
- Дополнительные возможности в сборках DEBUG (для разработчиков)
Лицензия
ILSpy распространяется под лицензией MIT. Подробности см. в документе About, а также в уведомлениях третьих сторон о включённых библиотеках с открытым исходным кодом.
Как собрать
Windows:
- Убедитесь, что установлен PowerShell 7+ (Windows PowerShell версии не ниже 5.0 также подходит).
- Клонируйте репозиторий ILSpy с помощью git.
- Выполните
git submodule update --init --recursive, чтобы загрузить подмодуль ILSpy-Tests (используется некоторыми тестовыми случаями). - Установите Visual Studio (документированная версия: 18.0/2026). Вам понадобятся следующие компоненты рабочих нагрузок:
- Рабочая нагрузка «.NET Desktop Development». Эта рабочая нагрузка включает .NET Framework 4.8 SDK и targeting pack .NET Framework 4.7.2, а также .NET 10.0 SDK (ILSpy.csproj нацелен на .NET 10.0, но у нас есть и проекты net472). Наши модульные тесты требуют .NET 11.0 SDK.
- Рабочая нагрузка «Visual Studio extension development» (Примечание: ILSpy.VSExtensions.slnx отделён от ILSpy.slnx, поэтому эта рабочая нагрузка необязательна)
- Отдельный компонент «MSVC v143 - VS 2022 C++ x64/x86 build tools» (или аналогичный)
- Набор инструментов VC++ необязателен; если он присутствует, он используется для
editbin.exe, чтобы изменить размер стека, используемого ILSpy.exe, с 1 МБ на 16 МБ, поскольку декомпилятор активно использует рекурсию, а малые размеры стека приводят к проблемам в очень сложных методах.
- Набор инструментов VC++ необязателен; если он присутствует, он используется для
- Откройте ILSpy.slnx в Visual Studio.
- Восстановление пакетов NuGet автоматически загрузит дополнительные зависимости
- Запустите проект «ILSpy» для интерфейса ILSpy
- Используйте «Test Explorer» в Visual Studio для просмотра/запуска тестов
- Если вас интересует только определённое подмножество ILSpy, вы также можете использовать
- ILSpy.Desktop.slnf: для кроссплатформенного интерфейса Avalonia и его тестов
- ILSpy.XPlat.slnf: для кроссплатформенного CLI (ilspycmd) или командлетов PowerShell
- ILSpy.VSExtensions.slnx: для расширений Visual Studio
Примечание: Visual Studio включает версию .NET SDK, управляемую установщиком Visual Studio — после обновления она также может быть обновлена. Обратите внимание, что ILSpy совместим только с .NET 11.0 SDK, и Visual Studio откажется загружать некоторые проекты в решении (а модульные тесты завершатся ошибкой). Если возникнет эта проблема, установите .NET 11.0 SDK вручную отсюда.
Unix / Mac:
- Убедитесь, что установлены .NET 10.0 SDK (для запуска) и .NET 11.0 SDK (для тестов). Ещё лучше использовать dotnetup с каналом SDK preview.
- Убедитесь, что установлен PowerShell (ранее известный как PowerShell Core)
- Клонируйте репозиторий с помощью git.
- Выполните
git submodule update --init --recursive, чтобы загрузить подмодуль ILSpy-Tests (используется некоторыми тестовыми случаями). - Используйте
dotnet build ILSpy.Desktop.slnfдля сборки кроссплатформенного настольного интерфейса Avalonia; запустите его с помощьюdotnet run --project ILSpy. - Используйте
dotnet build ILSpy.XPlat.slnf, чтобы собрать только инструмент CLI (ilspycmd) и командлеты PowerShell.
Мы рекомендуем Visual Studio Code или его производные вместе с DotRush, который также доступен для производных VS Code.