Die Common Language Runtime (CLR) ist die Laufzeitumgebung für .NET-Anwendungen. Sie umfasst eine virtuelle Maschine vergleichbar mit der Java Virtual Machine (JVM) und eine Spezifikation/Definition eines sprachübergreifenden Typsystems ( Common Type System). Die CLR führt ausschließlich Intermediate Language und keinen nativen Code aus. Nativer Maschinencode wird erst zur Laufzeit erzeugt und ausgeführt.