Understanding Common Language Runtime
In the .Net framework, the Common Language Runtime is the engine which compiles and runs the program. The CLR compile the code into an Intermediate Language called the MSIL (Microsoft IL).
The program code is converted to the MSIL and hence the .Net platform is called a Language Independent platform. This helps the programmers to write code in any language since the code is compiled to an MSIL in the end.
When you run the program the MSIL is then converted to the native code or the machine code through the Just-In-Time compiler. When you compile the program code, what you get is a Portable Executable (PE) file which has the MSIL and the Metadata.
The metadata describes the MSIL and has details such as names, methods, signature and other dependency information. The other major function of the Common Language Runtime is that it helps in managing the memory by itself so that the developers need not worry about the different stages of memory management in .NET.