Почему LocalBuilder.SetLocalSymInfo не выдает имена переменных?

Я попробовал запустить пример кода, который находится на странице документации для класса 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?

Информация об окружении:

  • Windows 7 64 bit
  • Visual Studio 2010 Professional SP1
  • .Net 4.0.30319 SP1
  • Целевой Framework: .Net 4 Client Profile
  • Конфигурация отладки (для программы, использующей System.Reflection.Emit)

Edit: Как я отметил в комментарии, вместе с файлом SampleAssembly.dll генерируется файл SampleAssembly.pdb.

6
задан Wesley Wiser 15 March 2012 в 21:00
поделиться