Common Language Infrastructure (CLI) är en öppen specifikation (publicerad som ECMA-335 och ISO/IEC 23271) utvecklad av Microsoft som beskriver exekverbar kod och en exekveringsmiljö som utgör kärnan i av ett flertal implementationer, detta inkluderar .NET Framework, Mono och Portable.NET. Specifikationen beskriver en programmiljö som tillåter flera hög-nivå-språk att användas på olika datorplattformar utan att behöva skriva om dem för den specifika arkitekturen.

Visuell överblick över Common Language Infrastructure (CLI)

CLI är en specifikation, inte en implementation, och förväxlas ofta med Common Language Runtime (CLR), som är Microsofts implementation som innehåller många aspekter utöver standarden.

CLI beskriver följande fyra aspekter:

Common Type System (CTS)
Typer och operationer som är gemensamma för alla CTS-programspråk.
Metadata
Information om programstrukturen är inte bunden till något språk, så den kan delas mellan andra programspråk och verktyg. Det gör det möjligt att använda kod som är skriven i ett språk du inte använder.
Common Language Specification (CLS)
Regler för alla språk för CLI, som ska följas för att ett språk ska kunna samverka med andra CLS-kompatibla språk. CLS reglerna definierar ett subset av Common Type System.
Virtual Execution System (VES)
VES laddar och exekverar CLI-kompatibla program, den använder metadatan för att kombinera delar, som genererats separat, vid exekvering (runtime).

CLI programspråk redigera

Referenser redigera