
ILSpy v11.0-preview1
Descompilador de .NET con soporte para generación de PDB, ReadyToRun, Metadata (y más) - ¡multiplataforma!
ILSpy

ILSpy es el navegador y descompilador de ensamblados .NET de código abierto y multiplataforma. La interfaz de escritorio se ejecuta en Windows, Linux y macOS (construida sobre Avalonia).
Descarga: última versión | última compilación de CI (master) | Microsoft Store (solo versiones RTM)
Frontends del descompilador
Además de la interfaz de escritorio multiplataforma ILSpy (descargable a través de Releases, véase también plugins), están disponibles los siguientes frontends:
- Visual Studio 2022/2026 incluyen soporte de descompilación para F12 habilitado por defecto (usando nuestros motores v8.2 y v9.1 respectivamente).
- Nuestra extensión para Visual Studio 2022/2026 marketplace
- Nuestra extensión para Visual Studio Code repositorio | marketplace | open-vsx
- Nuestra herramienta dotnet para Linux/Mac/Windows - consulte ILSpyCmd en este repositorio | dotnet tool install
- C# for Visual Studio Code también incluye soporte de descompilación. Para habilitarlo, active la opción "Enable Decompilation Support".
- Nuestros paquetes NuGet ICSharpCode.Decompiler e ILSpyX para sus propios proyectos
- Nuestros cmdlets de PowerShell para Linux/Mac/Windows en este repositorio
Características
- Descompilación a C# (consulte el estado de soporte del lenguaje)
- Descompilación de proyectos completos
- Abrir desde un feed NuGet, abrir desde un proceso en ejecución además de desde disco y GAC (solo Windows)
- Búsqueda de tipos/métodos/propiedades (conozca las opciones)
- Navegación por hipervínculos entre tipos/métodos/propiedades, marcadores
- Navegación de tipos base/derivados, historial
- Explorador de metadatos de ensamblados (recorrido por la funcionalidad)
- Descompilador de BAML a XAML, soporte de !AvaloniaResources
- Soporte de binarios ReadyToRun para .NET Core (véase el tutorial)
- Extensible mediante plugins
- Características adicionales en compilaciones DEBUG (para los desarrolladores)
Licencia
ILSpy se distribuye bajo la Licencia MIT. Consulte el documento About para más detalles, así como los avisos de terceros para las bibliotecas de código abierto incluidas.
Cómo compilar
Windows:
- Asegúrate de que PowerShell 7+ esté instalado (Windows PowerShell, al menos la versión 5.0, también funciona)
- Clona el repositorio de ILSpy usando git.
- Ejecuta
git submodule update --init --recursivepara descargar el submódulo ILSpy-Tests (usado por algunos casos de prueba). - Instala Visual Studio (versión documentada: 18.0/2026). Necesitas los siguientes componentes de carga de trabajo:
- Carga de trabajo ".NET Desktop Development". Esta carga de trabajo incluye el SDK de .NET Framework 4.8 y el targeting pack de .NET Framework 4.7.2, así como el SDK de .NET 10.0 (ILSpy.csproj tiene como destino .NET 10.0, pero también tenemos proyectos net472). Nuestras pruebas unitarias requieren el SDK de .NET 11.0.
- Carga de trabajo "Visual Studio extension development" (Nota: ILSpy.VSExtensions.slnx es independiente de ILSpy.slnx y, por lo tanto, esta carga de trabajo es opcional)
- Componente individual "MSVC v143 - VS 2022 C++ x64/x86 build tools" (o similar)
- El conjunto de herramientas VC++ es opcional; si está presente, se usa para
editbin.exepara modificar el tamaño de pila usado por ILSpy.exe de 1MB a 16MB, porque el descompilador hace un uso intensivo de la recursión, donde los tamaños de pila pequeños provocan problemas en métodos muy complejos.
- El conjunto de herramientas VC++ es opcional; si está presente, se usa para
- Abre ILSpy.slnx en Visual Studio.
- La restauración de paquetes NuGet descargará automáticamente las dependencias adicionales
- Ejecuta el proyecto "ILSpy" para la interfaz de usuario de ILSpy
- Usa el "Test Explorer" de Visual Studio para ver/ejecutar las pruebas
- Si solo te interesa un subconjunto específico de ILSpy, también puedes usar
- ILSpy.Desktop.slnf: para la interfaz de usuario multiplataforma Avalonia y sus pruebas
- ILSpy.XPlat.slnf: para la CLI multiplataforma (ilspycmd) o los cmdlets de PowerShell
- ILSpy.VSExtensions.slnx: para las extensiones de Visual Studio
Nota: Visual Studio incluye una versión del SDK de .NET que es administrada por el instalador de Visual Studio; una vez que actualices, también podría actualizarse. Ten en cuenta que ILSpy solo es compatible con el SDK de .NET 11.0 y Visual Studio se negará a cargar algunos proyectos de la solución (y las pruebas unitarias fallarán). Si este problema ocurre, instala manualmente el SDK de .NET 11.0 desde aquí.
Unix / Mac:
- Asegúrate de que el SDK de .NET 10.0 (para ejecutar) y el SDK de .NET 11.0 (para las pruebas) estén instalados. Mejor aún, usa dotnetup con el canal de SDK preview.
- Asegúrate de que PowerShell esté instalado (anteriormente conocido como PowerShell Core)
- Clona el repositorio usando git.
- Ejecuta
git submodule update --init --recursivepara descargar el submódulo ILSpy-Tests (usado por algunos casos de prueba). - Usa
dotnet build ILSpy.Desktop.slnfpara compilar la interfaz de usuario de escritorio multiplataforma Avalonia; ejecútala condotnet run --project ILSpy. - Usa
dotnet build ILSpy.XPlat.slnfpara compilar solo la herramienta CLI (ilspycmd) y los cmdlets de PowerShell.