Common Language Runtime (CLR) is the execution environment that manages .NET code at run time.
the Common Language Infrastructure, or CLI
The Common Type System
The foundation on which the CLR's cross-language features are built is the Common Type System (CTS). In order for classes defined in different languages to be able to communicate with each other, they need a common way to represent data – a common set of data types. All the predefined types that are available in IL are defined in the CTS. This means that all data in .NET code is ultimately stored in the same data types,because all .NET code compiles to IL.