Common Language Infrastructure
Common Language Infrastructure (z ang. architektura wspólnego języka,w skrócie CLI) to moduł wykorzystywany w platformie Microsoft .NET jako środowisko, w którym uruchamia się programy stworzone w różnych językach programowania. Przed opracowaniem CLI każdy język wymagał własnego środowiska - Visual Basic potrzebował VBVM, Visual C++ (aż do Visual C++.NET) - MSVCRT. CLI to krok w stronę ujednolicenia różnych środowisk.
CLR - maszyna wirtualna CLI
CLI wykorzystuje bibliotekę klas i maszynę wirtualną, Common Language Runtime (CLR). CLR to oficjalna nazwa nadana przez Microsoft, istnieje wiele książek poświęconych tej platformie. W trakcie przygotowania jest wiele kompilatorów, które będą generować kod dla CLR. Cechą charakterystyczną tego kodu jest to, że jest on zapisany w postaci Common Intermediate Language (CIL) (inna nazwa: Microsoft Intermediate Language, MSIL) i jest niezależny od zestawu instrukcji procesora, co umożliwia jego translację na języki narodowe. CIL można nazwać assemblerem wysokiego poziomu.
Rywalizacja z Javą
Maszyna CLR jest z założenia konkurentem dla Java Virtual Machine (JVM), a CLI - dla Java Software Development Kit (SDK).