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 (desarrollada con Avalonia).
Descarga: última versión estable | última compilación de CI (master) | Microsoft Store (solo versiones RTM)
Interfaces de descompilador
Además de la interfaz de escritorio multiplataforma ILSpy (descargable a través de Releases, consulte también plugins), las siguientes otras interfaces están disponibles:
- Visual Studio 2022/2026 incluye soporte de descompilación para F12 habilitado de forma predeterminada (usando nuestros motores v8.2 y v9.1 respectivamente).
- Nuestra extensión para Visual Studio 2022 marketplace (también funciona con VS 2026)
- Nuestra extensión para Visual Studio Code repositorio | marketplace | open-vsx
- Nuestra herramienta dotnet para Linux/Mac/Windows - consulte ILSpyCmd en este repositorio | instalación de dotnet tool
- C# para Visual Studio Code también incluye soporte de descompilación. Para habilitarlo, active la configuración "Enable Decompilation Support".
- En Visual Studio 2019, debe habilitar manualmente el soporte de F12. Vaya a Tools / Options / Text Editor / C# / Advanced y marque "Enable navigation to decompiled source"
- 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 del soporte de lenguaje)
- Descompilación de proyectos completos
- Abrir desde un feed de NuGet, abrir desde un proceso en ejecución además de disco y GAC (solo Windows)
- Búsqueda de tipos/métodos/propiedades (conozca las opciones)
- Navegación por hipervínculos de 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 !AvaloniaResources
- Soporte de binarios ReadyToRun para .NET Core (consulte el tutorial)
- Extensible mediante plugins
- Características adicionales en compilaciones DEBUG (para los desarrolladores)
Licencia
ILSpy se distribuye bajo la Licencia MIT. Consulte la documentación Acerca de para obtener más detalles,
así como los avisos de terceros para las bibliotecas de código abierto incluidas.
Cómo compilar
Windows:
- Asegúrese de que Windows PowerShell (al menos la versión) 5.0 o PowerShell 7+ esté instalado.
- Clone el repositorio de ILSpy usando git.
- Ejecute
git submodule update --init --recursive para descargar el submódulo ILSpy-Tests (usado por algunos casos de prueba).
- Instale Visual Studio (versión documentada: 18.0/2026). Necesita 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 paquete de destino de .NET Framework 4.7.2, así como el .NET 10.0 SDK (ILSpy.csproj tiene como destino .NET 10.0, pero también tenemos proyectos net472). Nuestras pruebas unitarias requieren el .NET 11.0 SDK.
- Carga de trabajo "Visual Studio extension development" (Nota: ILSpy.VSExtensions.slnx es independiente de ILSpy.sln 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.exe con el fin de 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.
- Abra ILSpy.sln en Visual Studio.
- La restauración de paquetes NuGet descargará automáticamente más dependencias
- Ejecute el proyecto "ILSpy" para la interfaz de usuario de ILSpy
- Use el "Test Explorer" de Visual Studio para ver/ejecutar las pruebas
- Si solo le interesa un subconjunto específico de ILSpy, también puede usar
- ILSpy.Desktop.slnf: para la interfaz de usuario multiplataforma Avalonia y sus pruebas
- ILSpy.XPlat.slnf: para la interfaz de línea de comandos 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 administrada por el instalador de Visual Studio; una vez que actualice, es posible que también se actualice.
Tenga en cuenta que ILSpy solo es compatible con el .NET 11.0 SDK y Visual Studio se negará a cargar algunos proyectos de la solución (y las pruebas unitarias fallarán).
Si se produce este problema, instale manualmente el .NET 11.0 SDK desde aquí.
Unix / Mac:
- Asegúrese de que el .NET 10.0 SDK (para ejecutar) y el .NET 11.0 SDK (para las pruebas) estén instalados.
- Asegúrese de que PowerShell esté instalado (anteriormente conocido como PowerShell Core)
- Clone el repositorio usando git.
- Ejecute
git submodule update --init --recursive para descargar el submódulo ILSpy-Tests (usado por algunos casos de prueba).
- Use
dotnet build ILSpy.Desktop.slnf para compilar la interfaz de escritorio multiplataforma Avalonia; ejecútela con dotnet run --project ILSpy.
- Use
dotnet build ILSpy.XPlat.slnf para compilar solo la herramienta CLI (ilspycmd) y los cmdlets de PowerShell.
Cómo contribuir
- Reporte errores
- Si desea contribuir con una solicitud de extracción, agregue https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit a su
.git/hooks para evitar confirmar código con formato incorrecto. Usamos tabuladores y no espacios. El servidor de compilación ejecuta el mismo script, por lo que cualquier solicitud de extracción con formato incorrecto fallará.
Contribuidores actuales y pasados.
Política de privacidad de ILSpy
ILSpy no recopila ninguna información de identificación personal, ni envía archivos de usuario a servicios de terceros.
ILSpy no utiliza ningún servicio APM (Application Performance Management) para recopilar telemetría o métricas.