CLR - Common Language Runtime
is the runtime that converts a MSIL code into the host machine language code.
It is the execution engine for .NET Framework applications. It provides a
number of services, including:
(loading and execution)
Conversion of IL to
Access to metadata
(enhanced type information)
Managing memory for
managed objects (Garbage collection)
Enforcement of code
access security ( Security Management)
including cross-language exceptions
managed code, COM objects, and pre-existing DLL's (unmanaged code and data)
developer services (profiling, debugging, and so on).