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.

.NET Framework Version History

Different versions of the CLR have ...

Get C# 4.0 Unleashed now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.