
Descompilador de .NET con soporte para generación de PDB, ReadyToRun, Metadata (y más) - ¡multiplataforma!
# 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 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](https://avaloniaui.net/)).
Descarga: [última versión](https://github.com/icsharpcode/ILSpy/releases) | [última compilación de CI (master)](https://github.com/icsharpcode/ILSpy/actions?query=workflow%3A%22Build+ILSpy%22+branch%3Amaster+is%3Asuccess+event%3Apush) | [Microsoft Store (solo versiones RTM)](https://apps.microsoft.com/store/detail/ilspy-fresh/XP8C26VDWLP4T4)
Frontends del descompilador
-------
Además de la interfaz de escritorio multiplataforma ILSpy (descargable a través de Releases, véase también [plugins](https://github.com/icsharpcode/ILSpy/wiki/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](https://marketplace.visualstudio.com/items?itemName=SharpDevelopTeam.ILSpy2022)
* Nuestra extensión para Visual Studio Code [repositorio](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)
* Nuestra herramienta dotnet para Linux/Mac/Windows - consulte [ILSpyCmd](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.ILSpyCmd) en este repositorio | [dotnet tool install](https://www.nuget.org/packages/ilspycmd/)
* [C# for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=ms-dotnettools.csharp) también incluye soporte de descompilación. Para habilitarlo, active la opción "Enable Decompilation Support".
* Nuestros paquetes NuGet [ICSharpCode.Decompiler](https://www.nuget.org/packages/ICSharpCode.Decompiler/) e [ILSpyX](https://www.nuget.org/packages/ICSharpCode.ILSpyX/) para sus propios proyectos
* Nuestros [cmdlets de PowerShell](https://github.com/icsharpcode/ilspy/blob/master/ICSharpCode.Decompiler.PowerShell) para Linux/Mac/Windows en este repositorio
Características
-------
* Descompilación a C# (consulte el [estado de soporte del lenguaje](https://github.com/icsharpcode/ILSpy/issues/829))
* 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](https://github.com/icsharpcode/ILSpy/wiki/Search-Options))
* 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](https://github.com/icsharpcode/ILSpy/wiki/Metadata-Explorer))
* Descompilador de BAML a XAML, soporte de !AvaloniaResources
* Soporte de binarios ReadyToRun para .NET Core (véase el [tutorial](https://github.com/icsharpcode/ILSpy/wiki/ILSpy.ReadyToRun))
* Extensible mediante [plugins](https://github.com/icsharpcode/ILSpy/wiki/Plugins)
* Características adicionales en compilaciones DEBUG ([para los desarrolladores](https://github.com/icsharpcode/ILSpy/wiki/Additional-Features-in-DEBUG-Builds))
Licencia
-------
ILSpy se distribuye bajo la Licencia MIT. Consulte el documento [About](https://github.com/icsharpcode/ilspy/blob/master/doc/ILSpyAboutPage.txt) para más detalles,
así como los [avisos de terceros](https://github.com/icsharpcode/ilspy/blob/master/doc/third-party-notices.txt) para las bibliotecas de código abierto incluidas.
Cómo compilar
------------
#### Windows:
- Asegúrate de que [PowerShell](https://github.com/PowerShell/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 --recursive` para 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](https://dotnet.microsoft.com/download/dotnet/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](https://dotnet.microsoft.com/download/dotnet/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.exe` para 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.
- 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í](https://dotnet.microsoft.com/download/dotnet/11.0).
#### Unix / Mac:
- Asegúrate de que el [SDK de .NET 10.0](https://dotnet.microsoft.com/download/dotnet/10.0) (para ejecutar) y el [SDK de .NET 11.0](https://dotnet.microsoft.com/download/dotnet/11.0) (para las pruebas) estén instalados. Mejor aún, usa [dotnetup](https://github.com/dotnet/sdk/tree/release/dnup/documentation/general/dotnetup) con el canal de SDK preview.
- Asegúrate de que [PowerShell](https://github.com/PowerShell/PowerShell) esté instalado (anteriormente conocido como PowerShell Core)
- Clona el repositorio usando git.
- Ejecuta `git submodule update --init --recursive` para descargar el submódulo ILSpy-Tests (usado por algunos casos de prueba).
- Usa `dotnet build ILSpy.Desktop.slnf` para compilar la interfaz de usuario de escritorio multiplataforma Avalonia; ejecútala con `dotnet run --project ILSpy`.
- Usa `dotnet build ILSpy.XPlat.slnf` para compilar solo la herramienta CLI (ilspycmd) y los cmdlets de PowerShell.
Recomendamos [Visual Studio Code](https://code.visualstudio.com/) o sus derivados junto con [DotRush](https://github.com/JaneySprings/DotRush), que también está disponible para derivados de VS Code.
Cómo contribuir
-----------------
- Reporta errores
- Si quieres contribuir con un pull request, añade https://github.com/icsharpcode/ILSpy/blob/master/BuildTools/pre-commit a tu `.git/hooks` para evitar confirmar código con un formato incorrecto. Usamos tabulaciones y no espacios. El servidor de compilación ejecuta el mismo script, por lo que cualquier pull request con un formato incorrecto fallará.
[Colaboradores](https://github.com/icsharpcode/ILSpy/graphs/contributors) 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.