Compartir a través de


Ver el contenido de un ensamblado

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 ver el contenido de un ensamblado

  • En el símbolo del sistema, escriba el siguiente comando:

    ildasm <nombre del ensamblado>

    En este comando, nombre del ensamblado es el nombre del ensamblado que se va a examinar.

En el siguiente ejemplo se abre el ensamblado Hello.exe.

ildasm Hello.exe

Para ver información del manifiesto del ensamblado, haga doble clic en el icono del manifiesto en la ventana del Desensamblador de MSIL.

Ejemplo: Hola a todos

En el siguiente ejemplo se muestra un programa "Hola a todos" básico.

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

Utilizando Ildasm.exe se puede ver la siguiente información del manifiesto del ensamblado:

.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

Directivas de manifiesto del ensamblado

En la tabla siguiente se describen las directivas del manifiesto del ensamblado del ejemplo Hola a todos.

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 <símbolo> 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 del 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, vea la documentación de ECMA para metadatos que se encuentra en el directorio de guía para programadores de herramientas en .NET Framework SDK.

Vea también

Crear ensamblados | Desensamblador de MSIL (Ildasm.exe) | Programar con ensamblados