Compartir a través de


Cómo: Ver el contenido de un ensamblado

Actualización: noviembre 2007

El Desensamblador de MSIL (Ildasm.exe) se puede usar para ver la información del lenguaje intermedio de Microsoft (MSIL) de un archivo. Si el archivo que se examina es un ensamblado, esta información puede incluir los atributos de dicho ensamblado, así como referencias a otros módulos y ensamblados. Esta información puede resultar útil para determinar si el archivo es un ensamblado o parte de un ensamblado y si tiene referencias a otros módulos o ensamblados.

Para mostrar el contenido de un ensamblado mediante Ildasm.exe

  • Escriba ildasm <nombre de ensamblado> en el símbolo del sistema. Por ejemplo, con el comando siguiente se desensambla el ensamblado Hello.exe.

    ildasm Hello.exe
    

Para ver información de manifiesto de ensamblado

  • Haga doble clic en el icono del MANIFIESTO en la ventana del Desensamblador MSIL.

Ejemplo

El siguiente ejemplo empieza con un programa básico "Hola a todos". Después de compilar el programa, utilice Ildasm.exe para desensamblar el ensamblado Hello.exe y ver el manifiesto de ensamblado.

Imports System
Public Module modmain
   Sub Main()
      Console.WriteLine ("Hello World using Visual Basic!")
   End Sub
End Module 
using System;
class MainApp {
     public static void Main() {
        Console.WriteLine("Hello World using C#!"); 
    }
}
#using <mscorlib.dll>
using namespace System;
void main() {
   Console::WriteLine(L"Hello World using Managed Extensions!");  
}

La ejecución del comando ildasm.exe en el ensamblado Hello.exe y un doble clic en el icono del MANIFIESTO en la ventana de IL DASM generan el resultado siguiente:

.assembly extern mscorlib
{
  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )              // .z\V.4..
  .ver 1:0:2411:0
}
.assembly Hello
{
  // --- The following custom attribute is added automatically; do not uncomment. -------
  //  .custom instance void [mscorlib]System.Diagnostics.DebuggableAttribute::.ctor(bool,
  //                                                                                bool) = ( 01 00 00 01 00 00 ) 
  .hash algorithm 0x00008004
  .ver 0:0:0:0
}
.module Hello.exe
// MVID: {58AD9DFD-63A6-462A-8AD5-42CBC95AA147}
.subsystem 0x00000003
.file alignment 512
.corflags 0x00000001
// Image base: 0x03330000

En la siguiente tabla se describen las directivas del manifiesto del ensamblado Hello.exe utilizado en el ejemplo.

Directiva

Descripción

.assembly extern <nombre del ensamblado>

Especifica otro ensamblado que contiene elementos a los que hace referencia el módulo actual (en este ejemplo, mscorlib).

.publickeytoken <token>

Especifica el símbolo de la clave real del ensamblado al que se hace referencia.

.ver <número de versión>

Especifica el número de versión del ensamblado al que se hace referencia.

.assembly <nombre del ensamblado>

Especifica el nombre del ensamblado.

.hash algorithm <valor int32>

Especifica el algoritmo de hash utilizado.

.ver <número de versión>

Especifica el número de versión del ensamblado.

.module <nombre de archivo>

Especifica el nombre de los módulos que forman el ensamblado. En este ejemplo, el ensamblado sólo tiene un archivo.

.subsystem <valor>

Especifica el entorno de aplicación que requiere el programa. En este ejemplo, el valor 3 indica que este ejecutable se ejecuta desde una consola.

.corflags

En la actualidad, un campo reservado de los metadatos.

Un manifiesto de ensamblado puede contener varias directivas distintas, dependiendo del contenido del ensamblado. Para obtener una lista completa de las directivas del manifiesto de ensamblado, consulte la documentación (en inglés) de ECMA, especialmente la partición II, sobre definición y semántica de metadatos, y la partición III, sobre el conjunto de instrucciones de CIL. La documentación está disponible en línea en https://msdn.microsoft.com/net/ecma/ y http://www.ecma-international.org/publications/standards/ecma-335.htm.

Vea también

Conceptos

Dominios de aplicación y ensamblados

Temas "Cómo..." sobre dominios de aplicación y ensamblados

Referencia

Desensamblador de MSIL (Ildasm.exe)