The Assembly Manifest

To start, there’s a manifest that describes the identity of our assembly, its dependencies, and a couple of flags. For our little application, the manifest looks like this (omitting a few irrelevant details):

// Metadata version: v4.0.30319.assembly extern mscorlib{  .publickeytoken = (B7 7A 5C 56 19 34 E0 89 )  .ver 4:0:0:0}.assembly intro{  .hash algorithm 0x00008004  .ver 0:0:0:0}.module intro.exe.imagebase 0x00400000.file alignment 0x00000200.stackreserve 0x00100000.subsystem 0x0003       // WINDOWS_CUI.corflags 0x00000001    //  ILONLY

From the first comment line, we can see the metadata (and hence runtime) version for which this assembly was built.

Note: .NET Framework Version History ...

Get C# 5.0 Unleashed now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.