CLR Runtime версия из заголовка CLR

Когда я использую dumpbin \clrheader для одной сборки, я обнаружил следующее содержимое. Так как я соблюдаю в соответствии с.net4.5, Каким образом CLR verion будет 2.05?

Дамп файла SampleApp.exe

Тип файла: EXECUTABLE IMAGE

заголовок clr:

          48 cb
        2.05 runtime version
        2080 [     668] RVA [size] of MetaData Directory
       20003 flags
               IL Only
               32-Bit Required
               32-Bit Preferred
     6000001 entry point token
           0 [       0] RVA [size] of Resources Directory
           0 [       0] RVA [size] of StrongNameSignature Directory
           0 [       0] RVA [size] of CodeManagerTable Directory
           0 [       0] RVA [size] of VTableFixups Directory
           0 [       0] RVA [size] of ExportAddressTableJumps Directory
           0 [       0] RVA [size] of ManagedNativeHeader Directory

Резюме

    2000 .reloc
    2000 .rsrc
    2000 .text

1 ответ

Потому что то, что этот инструмент называет "версией исполнения", на самом деле не является версией исполнения и не имеет к ней никакого отношения. Это неправильно. Вы не можете использовать dumpbin распечатать актуальную версию во время выполнения. Вместо этого вы можете использовать ildasm которая относится к версии времени выполнения как "версия метаданных". Вы можете найти версию метаданных в манифесте сборки. Для.NET 4.x версия времени выполнения - 4.0.30319.

Другие вопросы по тегам