using anly language write code first be complied that itself compiler ,and its will built IL code. the IL code not konw the programm is use what language writed,but the manged modules can execute the IL code.
the manged modules contain pe32or pe32+header,clr header,metadate,IL code .
1. pe32 head run on a 32-bit version of windows,the pe32+ header run on a 64 bit a version windows,the head also indicates that file type is gui,cui or dll. and it also contains a timestamp to whern built file .
2.clr header includes the version of the clr required,some flag .the methoddef metadata token of the manged modules 's entry point method (Main method). and the metadate location/size of the module ,resource,strong name ,some flag,and other less intereting stuff.
3.metadate:every manged modules contain metadate two tables.tables describe the type and members defined in your source code.and the tables also describe type and members referenced by your source code.
4.IL complied the source code .At runtime,the clr complied the IL code into native cpu instructions.