[1] No debe confundirse el CLR con una máquina virtual, ya que una vez que el código está compilado, corre nativamente sin intervención de una capa de abstracción sobre el hardware subyacente.
Los desarrolladores que usan CLR escriben el código fuente en un lenguaje compatible con .NET, como C# o Visual Basic .NET.
A pesar de que algunas implementaciones del Common Language Infrastructure se ejecutan en sistemas operativos que no sean Windows, el CLR se ejecuta solo en Microsoft Windows.
La manera en que la máquina virtual se relaciona con el CLR permite a los programadores ignorar muchos detalles específicos del microprocesador que estará ejecutando el programa.
El CLR también permite otros servicios importantes, incluyendo los siguientes: