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.