Skip to content
← Todas las publicaciones
· Delta1 Labs Decompilador.NETdnSpy

Alternativa a dnSpy en 2026: un decompilador de .NET con mantenimiento

dnSpy está archivado y sin mantenimiento. Estas son las mejores alternativas a dnSpy en 2026 para decompilar, leer y depurar .NET: gratuitas y en desarrollo activo.

Si has abierto un ensamblado de .NET en los últimos años sin su código fuente, lo más probable es que recurrieras a dnSpy. Era la navaja suiza de la ingeniería inversa de código gestionado: decompilar a C#, leer IL, poner puntos de interrupción, editar métodos y volver a guardar el ensamblado. Durante mucho tiempo fue la respuesta por defecto a “¿cómo miro dentro de esta DLL?”.

El problema es que el dnSpy original ya no tiene mantenimiento. El repositorio fue archivado por su autor, lo que significa que no hay nuevas versiones, ni correcciones para versiones más recientes de .NET, ni actualizaciones de seguridad. Todavía se ejecuta y todavía funciona con muchos ensamblados, pero “todavía funciona” no es lo mismo que “con mantenimiento”. Si estás eligiendo una herramienta en 2026, vale la pena saber qué hacía realmente dnSpy por ti, y cuál de esos trabajos puede retomar una herramienta moderna y en desarrollo activo.

En resumen: dnSpy está archivado. El fork de la comunidad dnSpyEx continúa el papel de depuración y edición. Para el trabajo mucho más habitual de leer y entender un ensamblado, un decompilador con mantenimiento como Glass.NET (gratis, interfaz nativa al estilo VS), ILSpy o dotPeek es la mejor apuesta a largo plazo. Yo construyo uno de estos, y aun así te diré honestamente dónde ganan los demás.

Para qué usaba la gente dnSpy en realidad

dnSpy eran tres herramientas en una misma gabardina. La mayoría de la gente usaba solo una o dos:

  • Decompilar a C#. Con mucho el uso más habitual: abrir una DLL, leer el código reconstruido, averiguar qué hace un método.
  • Leer IL. Cuando el C# decompilado resultaba sorprendente, cambiar al IL subyacente para ver qué contiene literalmente el ensamblado.
  • Depuración en vivo. Adjuntarse a un proceso en ejecución, poner puntos de interrupción en el código decompilado y recorrer paso a paso un ensamblado del que no tenías código fuente.
  • Editar y volver a guardar. Parchear el IL o el C# de un método, guardar el ensamblado y ejecutar la versión modificada.

Las dos primeras (leer C# e IL) son lo que necesita la inmensa mayoría de la gente la mayor parte del tiempo. Y esos son exactamente los trabajos que los decompiladores con mantenimiento hacen muy bien hoy.

Opción 1: Glass.NET, un lector gratuito y con mantenimiento

Trabajo en Glass.NET, así que tómate esta sección como informada más que neutral; la mantendré honesta. Glass es un decompilador de .NET gratuito con una interfaz nativa al estilo de Visual Studio, basada en Avalonia. Convierte cualquier ensamblado gestionado de nuevo en C# legible y está construido para la parte en la que los usuarios de dnSpy pasaban la mayor parte del tiempo: leer y navegar por código desconocido.

  • Decompila a C# limpio. Glass está construido sobre ICSharpCode.Decompiler, el mismo motor probado que hay detrás de ILSpy, así que el C# que produce se mantiene al día con las características modernas del lenguaje.
  • Navega como si fuera tu propio proyecto. Ir a definición (F12), Buscar todas las referencias (Mayús+F12), Ir a todo (Ctrl+T), jerarquía de llamadas y de tipos, una miga de pan espacio de nombres ▸ tipo ▸ miembro, e historial de navegación.
  • C# e IL lado a lado. Cambia cualquier miembro a su IL cuando el C# resulte sorprendente: el mismo movimiento de “confirmar qué hace realmente” que te daba dnSpy.
  • Exporta a un proyecto compilable cuando quieras el código en disco para hacerle grep, diff o abrirlo en Visual Studio.
  • Solo análisis estático. Glass lee metadatos e IL y reconstruye C#; nunca ejecuta el ensamblado que inspecciona.

Lo que Glass no hace: no es un depurador, y no edita ni vuelve a guardar ensamblados. Si esas son las características de dnSpy de las que no puedes prescindir, sigue leyendo: más abajo viene una alternativa honesta.

Glass es gratis para siempre (sin licencia, sin puestos, sin registro) y en desarrollo activo. Si leer y entender ensamblados es tu trabajo principal, es la coincidencia con mantenimiento más cercana a cómo la mayoría de la gente usaba dnSpy. Hay un recorrido más completo en cómo decompilar una DLL de .NET a C#.

Opción 2: ILSpy, el caballo de batalla de código abierto

ILSpy es el proyecto de código abierto cuyo motor de decompilación (ICSharpCode.Decompiler, con licencia MIT) impulsa a Glass y a varias otras herramientas. Es gratuito, con mantenimiento activo, y produce C# excelente. Si quieres un lector sin florituras y de confianza y te sientes cómodo con una interfaz más austera, ILSpy es una gran opción por defecto y lo ha sido durante años. Lee C# e IL, exporta proyectos y sigue el ritmo de las nuevas características del lenguaje. Para una comparación lado a lado, consulta Glass.NET frente a ILSpy, dnSpy y dotPeek.

Opción 3: dotPeek, gratis, de JetBrains

dotPeek es el decompilador gratuito de JetBrains. Usa el propio motor de decompilación de JetBrains en lugar del de ILSpy, se integra con ReSharper y puede actuar como servidor de símbolos para que Visual Studio entre paso a paso en el código decompilado. Si ya vives en el ecosistema de JetBrains, es una opción natural y tiene mantenimiento activo. Hay un artículo dedicado sobre la alternativa a dotPeek si estás comparando los dos directamente.

Opción 4: dnSpyEx, cuando realmente necesitas el depurador

Aquí viene la parte honesta. Hay una cosa que dnSpy hacía y que ninguno de los decompiladores puros de arriba replica: la depuración y edición en vivo de un binario gestionado. Adjuntarse a un proceso, recorrer el código decompilado paso a paso, parchear un método y guardar el ensamblado: eso es un trabajo genuinamente distinto de leerlo.

Si eso es lo que necesitas, la comunidad te cubre: dnSpyEx es un fork con mantenimiento que lleva dnSpy hacia adelante. Es la herramienta adecuada cuando específicamente necesitas depurar o editar un ensamblado gestionado a nivel de IL. No voy a fingir que un lector estático reemplaza a un depurador: no lo hace. Recurre a dnSpyEx para ese flujo de trabajo, y a un decompilador para todo lo demás. Hay más sobre los escenarios sin depurador en cómo depurar una app .NET cuando no tienes el código fuente.

¿Qué alternativa a dnSpy deberías elegir?

Haz coincidir la herramienta con el trabajo que dnSpy hacía por ti:

Usabas dnSpy para…Recurre a
Leer y entender un ensamblado (el caso habitual)Glass.NET, ILSpy o dotPeek
Navegar rápido por una base de código grande y desconocidaGlass.NET
Quedarte dentro del ecosistema de JetBrainsdotPeek
Depurar en vivo un proceso gestionado en ejecucióndnSpyEx
Editar y volver a guardar el IL de un ensambladodnSpyEx

No hay un único ganador, porque dnSpy nunca fue una única herramienta. Para la lectura y navegación que la mayoría de la gente hacía la mayor parte del tiempo, un decompilador con mantenimiento es la mejora. Para el nicho de depuración y edición, el fork de la comunidad es la respuesta.

Un ejemplo práctico: leer un método

Supón que un paquete NuGet lanza una InvalidOperationException en lo hondo de un rastro de pila y no tienes código fuente. En un decompilador con mantenimiento el flujo es el mismo que conocías de dnSpy: abre el ensamblado, usa Ir a todo para saltar directamente al tipo que nombra el rastro de pila, lee el C# reconstruido y cambia a IL si el C# parece raro. En menos de un minuto estás leyendo algo como esto:

public T Dequeue()
{
    if (_count == 0)
        throw new InvalidOperationException("Queue empty");
    T item = _items[_head];
    _items[_head] = default!;
    _head = (_head + 1) % _items.Length;
    _count--;
    return item;
}

Ahora puedes ver la precondición exacta que se disparó, sin ejecutar nunca el código. Ese es el flujo de trabajo cotidiano de dnSpy, en una herramienta que todavía recibe actualizaciones.

Hazte con una herramienta con mantenimiento

dnSpy sirvió bien a la comunidad de .NET, y dnSpyEx mantiene vivo su papel de depuración. Pero para la lectura y navegación que la mayoría de nosotros hacemos de verdad, mereces una herramienta que todavía se esté construyendo. Glass.NET es gratis (sin licencia, sin puestos, sin registro), construido sobre el mismo motor probado que ILSpy, con una interfaz rápida y nativa al estilo VS. Descárgalo, abre el ensamblado que te está dando problemas y pulsa F12.

Prueba Nebula.NET

Endurece tu código .NET en minutos — empieza con la edición gratuita.