Traté de ejecutar el código de ejemplo que aparece en la página de documentación para la clase System.Reflection.Emit.LocalBuilder pero parece que las llamadas a LocalBuilder.SetLocalSymInfo(string, int, int)
no están haciendo nada ya que la IL Dissasembler muestra esto como la IL para SampleAssembly.dll:¿Por qué LocalBuilder.SetLocalSymInfo no emite nombres de variables?
.method public static string Function1(int32 A_0) cil managed
{
// Code size 10 (0xa)
.maxstack 1
.locals init (string V_0,
int32 V_1)
IL_0000: ldarg.0
IL_0001: stloc.1
IL_0002: ldstr "string value"
IL_0007: stloc.0
IL_0008: ldloc.0
IL_0009: ret
} // end of method Example::Function1
¿Por qué no se enumeran los nombres de las variables (myString
y myInt
) en el Disasembler?
Ambiente Info:
- Windows 7 64 bits
- Visual Studio 2010 SP1 Profesional
- .Net 4.0.30319 SP1
- marco de destino: .Net 4 Client Profile
- configuración de depuración (para el programa que usa System.Reflection.Emit)
Editar: Como noté en un comentario, se está generando un archivo SampleAssembly.pdb junto con el archivo SampleAssembly.dll.
Gracias, le otorgaré mi recompensa cuando puedo, (en 17 horas, +200 pts) pero no puedo marcar esto como la respuesta correcta (que es) ya que no hice la pregunta original. – thr
Ahí vamos, recompensa otorgada, perdón por la demora :) – thr