
ILSpy es un navegador y descompilador de componentes .NET de código abierto.
descargar: Últimos lanzamientos | Última compilación de CI (maestra) | Microsoft Store (solo versión RTM)
En el mundo del desarrollo .NET, comprender y aplicar ingeniería inversa a los ensamblajes puede ser una tarea desafiante. Ingrese ILSpy, la herramienta de descompilación de .NET definitiva que simplifica el proceso.
En este artículo, analizaremos más de cerca ILSpy, sus potentes funciones y cómo ayuda a los desarrolladores e ingenieros inversos a navegar, descompilar y explorar fácilmente ensamblados .NET.
Únase a nosotros en nuestro viaje para descubrir las capacidades de esta herramienta indispensable para cualquier persona en el ecosistema .NET.
Además de WPF UI ILSpy (disponible para descargar mediante publicación, consulte también pagIuggins), las siguientes interfaces adicionales están disponibles:
- Visual Studio 2022 viene con soporte de descompilación F12 habilitado de forma predeterminada (usando nuestro motor v7.1).
- En Visual Studio 2019, debe habilitar manualmente la compatibilidad con F12. Vaya a Herramientas/Opciones/Editor de texto/C#/Avanzado y seleccione «Habilitar navegación de fuentes descompiladas»
- C# para código de Visual Studio También viene con soporte de descompilación. Para habilitarlo, habilite la configuración «Habilitar soporte de descompilación».
- Nuestras extensiones de Visual Studio 2022 mercado
- Nuestras extensiones de Visual Studio 2017/2019 mercado
- Nuestras extensiones de código de Visual Studio repositorio | mercado
- Nuestra interfaz de usuario ILSpy para Linux/Mac/Windows se basa en avalonía – Controlar
- nuestro ICSharpCode.Descompilador NuGet para tu propio proyecto
- Nuestras herramientas dotnet para Linux/Mac/Windows: consulte ILSpyCmd en este repositorio
- Nuestro Linux/Mac/Windows Cmdlets de PowerShell en este repositorio
- Descompilar en C# (ver Estado de soporte de idiomas)
- Descompilar todo el proyecto
- Buscar tipos/métodos/propiedades (comprender Opciones)
- Navegación de tipo/método/propiedad basada en hipervínculos
- Navegación básica/derivada, historial.
- Explorador de metadatos de ensamblaje (Tutorial funcional)
- Descompilador de BAML a XAML
- Compatibilidad binaria ReadyToRun para .NET Core (consulte enseñando)
- Orificio pasante expandible enchufar
- Funciones adicionales en la versión DEBUG (Para desarrolladores)
ILSpy se distribuye bajo la licencia MIT.Ver acerca de archivo para más detalles, y Aviso de terceros Para las bibliotecas de código abierto incluidas.
Ventanas:
- Asegúrese de tener instalado PowerShell (al menos la versión) 5.0.
- Clona el repositorio de ILSpy usando git.
- implementar
git submodule update --init --recursive
Descargue el submódulo ILSpy-Tests (utilizado en algunos casos de prueba). - Instale Visual Studio (versión de registro: 17.1). Puede instalar los componentes necesarios de una de tres maneras:
- Siga las instrucciones de Microsoft. Importar configuracióny luego importe el archivo .vsconfig ubicado en el directorio raíz de la solución.
- Alternativamente, puede abrir la solución ILSpy (ILSpy.sln) y Visual Studio Le solicita que instale los componentes que faltan.
- Finalmente, puede instalar manualmente los componentes necesarios a través del instalador de Visual Studio. Las cargas de trabajo/componentes son los siguientes:
- Carga de Trabajo «Desarrollo de Escritorio .NET».Esta carga de trabajo incluye los paquetes de destino de .NET Framework 4.8 SDK y .NET Framework 4.7.2, y SDK de .NET 6.0 y SDK de .NET 7.0 (ILSpy.csproj apunta a .NET 6.0, pero también tenemos proyectos net472+net70). Nota: ILSpy no requiere componentes opcionales para esta carga de trabajo
- Carga de trabajo «Desarrollo de extensiones de Visual Studio» (ILSpy.sln contiene el proyecto de extensión VS) Nota: ILSpy no requiere componentes opcionales para esta carga de trabajo
- Componente único «MSVC v143 – VS 2022 C++ x64/x86 Build Tool» (o componente similar)
- El conjunto de herramientas VC++ es opcional; Si está presente, se utiliza para
editbin.exe
Se modificó el tamaño de pila utilizado por ILSpy.exe de 1 MB a 16 MB, ya que el descompilador utiliza mucha recursividad y tamaños de pila más pequeños pueden causar problemas con métodos muy complejos.
- El conjunto de herramientas VC++ es opcional; Si está presente, se utiliza para
- Abra ILSpy.sln en Visual Studio.
- La restauración del paquete NuGet descargará automáticamente más dependencias
- Ejecute el proyecto «ILSpy» para ILSpy UI
- Ver/ejecutar pruebas usando Visual Studio Test Explorer
- Si sólo está interesado en un subconjunto específico de ILSpy, también puede utilizar
- ILSpy.Wpf.slnf: para la interfaz ILSpy WPF
- ILSpy.XPlat.slnf: para CLI multiplataforma o cmdlets de PowerShell
- ILSpy.AddIn.slnf: para el complemento de Visual Studio
notas: Visual Studio incluye una versión del SDK de .NET administrado por el instalador de Visual Studio; también se puede actualizar una vez actualizado. Tenga en cuenta que ILSpy solo es compatible con el SDK de .NET 6.0 y Visual Studio se negará a cargar algunos proyectos en la solución (y las pruebas unitarias fallarán). Si se produce este problema, instale manualmente el SDK de .NET 6.0 desde la siguiente ubicación: aquí.
- Cerciorarse SDK de .NET 7.0 Instalado.
- Cerciorarse Caja de fuente de alimentación Instalado (anteriormente PowerShell Core)
- Clona el repositorio usando git.
- implementar
git submodule update --init --recursive
Descargue el submódulo ILSpy-Tests (utilizado en algunos casos de prueba). - usar
dotnet build ILSpy.XPlat.slnf
Cree versiones de ILSpy que no sean de Windows (herramientas globales de .NET Core y PowerShell Core).
- Informar error
- Si quieres contribuirte lo ruego por favor Añadir a tu
.git/hooks
para evitar la incorporación de código con formato incorrecto. Usamos tabulaciones en lugar de espacios. El servidor de compilación ejecuta el mismo script, por lo que cualquier solicitud de extracción que utilice el formato incorrecto fallará.
presente y pasado Contribuyente.
ILSpy no recopila ninguna información de identificación personal ni transmite perfiles de usuario a servicios de terceros.
ILSpy no utiliza ningún servicio APM (Application Performance Management) para recopilar telemetría o métricas.