Я попробовал запустить пример кода, который находится на странице документации для класса System.Reflection.Emit.LocalBuilder, но оказалось, что вызовы LocalBuilder. SetLocalSymInfo(string, int, int)
ничего не делают, поскольку IL Dissasembler показывает это как IL для SampleAssembly.dll:
.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
Почему имена переменных (myString
и myInt
) не указаны в Dissasembler?
Информация об окружении:
Edit: Как я отметил в комментарии, вместе с файлом SampleAssembly.dll генерируется файл SampleAssembly.pdb.