Common Language Runtime
# Common Language Runtime

In informatica, il Common Language Runtime (CLR), è il nome scelto da Microsoft per la macchina virtuale e le librerie standard della piattaforma .NET. Il CLR è l'ambiente di esecuzione del Common Intermediate Language, il linguaggio intermedio in cui i compilatori della piattaforma .NET traducono i linguaggi ad alto livello supportati dalla piattaforma stessa. Al 2005 più di 40 linguaggi sono supportati.

Il Common Language Specification (CLS), in italiano "specifica del linguaggio comune", descrive un sottoinsieme della CLR che i compilatori devono supportare per permettere l'interoperabilità tra i diversi linguaggi di programmazione.

Questo ambiente di esecuzione è principalmente usato sui sistemi operativi Microsoft, ma esistono anche alcune implementazioni, seppur ancora incomplete, per sistemi Unix e Linux: la piattaforma di sviluppo denominata Mono è una implementazione multi-piattaforma del CLS; Portable.NET, parte del progetto DotGNU, è anch'essa un'implementazione del CLR.

Microsoft ha annunciato che il CLR sarà nativamente disponibile anche per Linux e macOS a partire dalla versione 2015 del framework.

## Versioni

Il numero di versione di .NET Framework non corrisponde necessariamente al numero di versione di CLR inclusa in esso. Quella che segue è una tabella che mette in relazione la versione del framework e quella del CLR.

| Versione di .NET Framework | Include la versione CLR |
| - | - |
| 1.0 | 1.0 |
| 1.1 | 1.1 |
| 2.0 | 2.0 |
| 3.0 | 2.0 |
| 3.5 | 2.0 |
| 4 | 4 |
| 4.5 (incluse 4.5.1 e 4.5.2) | 4 |
| 4.6 (incluse 4.6.1 e 4.6.2) | 4 |
| 4.7 (inclusa 4.7.1) | 4 |
