What is the CLR in .Net?

CLR is the Common Language Runtime in .Net. It is synonymouse to the JVM (Java Virtual Machine) in Java. CLR is a run-time environment in which applications written in different languages can all interoperate with each other thus achieving cross-language interoperability. This is achived due to the CLS (Common Language Specification). The Common Language Specification (CLS) is a set of rules that a language compiler must adhere to in order to create .NET applications that run in the CLR.
CLR executes managed code. Managed code is a code that is running under the CLR and is therefore being managed by the CLR. In such a managed code environment, a number of rules are in place to ensure that all applications behave in a globally uniform manner, regardless of the language they were written in.