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.