Common Language Runtime (CLR) er den virtuelle maskine i Microsofts .NET framework der er ansvarlig for håndteringen af .NET-programmers afvikling. I processen der er kendt som just-in-time (JIT)-kompilering, kompilerer CLR mellemkodesproget CIL til maskinkode der så igen skal afvikles af computerens CPU. CLR er Microsofts implementering af standarden Common Langugage Infrastructure (CLI) og kan betegnes som et run time environment der giver adgang til den underliggende infrastruktur for Microsofts .NET Framework. CLR giver flere fordele i form af hukkommelsesstyring, typesikkerhed og fejlhåndtering. Alle programmer der anvender .NET-framework, uanset programmeringssprog, bliver afviklet af CLR. Kode der afhænger af CLR siges at være managed code, i modsætning til unmanaged code, hvis afvikling ikke styres af CLR. Begrebet er opfundet af Microsoft til at skelne mellem kode der køres i en .NET CLR virtuel maskine, og kode der er kompileret til binær kode og afvikles direkte på Windows platformen. C# og VB.NET genererer begge managed code (bytekode), mens Visual C++ er i stand til også at kompilere unmanaged code (binær kode).