Choosing a compiler:
Take advantage of RunTime compiler that take advantage of runtime like VB,C#,JScript and many third party compilers such as Eiffel,Perl or Cobol compiler.
Multilanguage execution environment supported code.
Compiling your code to MSIL:
Compiling to MSIL will helpful in generation of the Metadata.
Compiling MSIL to native code:
JIT (Just In Time) Compiler will convert the MSIL into native code. This compiler also it has search for the validity of Metadata and also for it's safeness.
Running code:
Common language runtime provides the infrastructure that enables execution to take place as well as a variety of services that can be used during execution.