The Common Language Runtime (CLR) is a virtual machine environment and part of the .NET Framework. It contains:

Code that runs in the CLR is referred to as managed code to distinguish it from code running outside the CLR (usually native code) which is referred to as unmanaged code. There are various mechanisms that facilitate interoperability between managed and unmanaged code.