Versioni e dipendenze di .NET Framework

Ogni versione di .NET Framework contiene Common Language Runtime (CLR), le librerie di classi di base e altre librerie gestite. Questo articolo descrive le funzionalità principali di .NET Framework in base alla versione, fornisce informazioni sulle versioni CLR sottostanti e sugli ambienti di sviluppo associati e identifica le versioni installate dal sistema operativo Windows.

Ogni nuova versione di .NET Framework aggiunge nuove funzionalità, ma mantiene le funzionalità delle versioni precedenti.

Nota

.NET Framework 4.8 è l'ultima versione di .NET Framework. .NET Framework viene utilizzato ogni mese con correzioni di bug di sicurezza e affidabilità. .NET Framework continuerà a essere incluso con Windows, senza piani per rimuoverlo. Non è necessario eseguire la migrazione delle app .NET Framework, ma per un nuovo sviluppo usare .NET 5 o versione successiva.

CLR viene identificato dal relativo numero di versione. Il .NET Framework numero di versione viene incrementato a ogni versione, ma la versione CLR non viene sempre incrementata. Ad esempio, .NET Framework 4, 4.5 e versioni successive includono CLR 4, mentre .NET Framework 2.0, 3.0 e 3.5 includono CLR 2.0. (non c'è nessuna versione 3 di CLR).

Suggerimento

Informazioni sulla versione

Le tabelle seguenti riepilogano .NET Framework cronologia delle versioni e correlano ogni versione con Visual Studio, Windows e Windows Server. Visual Studio supporta il multi-targeting, quindi non si è limitati alla versione di .NET Framework elencata.

  • L'icona del segno ✔️ indica le versioni del sistema operativo in cui .NET Framework installato per impostazione predefinita.
  • L'icona del segno ➕ indica le versioni del sistema operativo in .NET Framework non sono installate, ma possono essere installate.
  • L'asterisco indica le versioni del sistema operativo in cui il .NET Framework (preinstallato o meno) deve essere abilitato in Pannello di controllo o, per Windows Server, tramite il * Server Manager.

Passare a:

.NET Framework 4.8

Versioni
CLR 4
Windows ✔️ 11
✔️ aggiornamento del 10 maggio 2021
✔️ aggiornamento del 10 ottobre 2020
✔️ aggiornamento del 10 maggio 2020
✔️ aggiornamento del 10 novembre 2019
✔️ aggiornamento del 10 maggio 2019
➕ 10 ottobre 2018 (versione 1809)
➕ del 10 aprile 2018 (versione 1803)
➕ 10 Fall Creators Update (versione 1709)
➕ 10 Creators Update (versione 1703)
➕ dell'anniversario di ➕ 10 (versione 1607)
➕ 8.1
➕7
Windows Server ✔️ Windows Server 2022
➕ Windows Server 2019
➕ Windows Server, versione 1809
➕ Windows Server, versione 1803
➕ 2016
➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 528449 (Windows 11 e Windows Server 2022)
  • 528372 (aggiornamento Windows 10 maggio 2020 e aggiornamento Windows 10 ottobre 2020 e aggiornamento Windows 10 maggio 2021)
  • 528040 (Aggiornamento di Windows 10 (maggio 2019) e Windows 10 aggiornamento di novembre 2019)
  • 528049 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.7.2

Versioni
CLR 4
Incluso in Visual Studio 20191
Windows ✔️ 10 ottobre 2018 (versione 1809)
✔️ del 10 aprile 2018 (versione 1803)
➕ 10 Fall Creators Update (versione 1709)
➕ 10 Creators Update (versione 1703)
➕ dell'anniversario di ➕ 10 (versione 1607)
➕ 8.1
➕7
Windows Server ✔️ Windows Server 2019
✔️ Windows Server, versione 1809
✔️ Windows Server, versione 1803
➕ Windows Server, versione 1709
➕ 2016
➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

1 Richiede l'installazione dei carichi di lavoro Sviluppo per desktop .NET, Sviluppo di applicazioni ASP.NET e Web, Sviluppo di Azure, Sviluppo di Office/SharePoint, Sviluppo di applicazioni per dispositivi mobili con .NET o Sviluppo multipiattaforma .NET Core.

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 461814 (Aggiornamento di Windows 10 (ottobre 2018))
  • 461808 (Windows 10 di aprile 2018 e Windows Server, versione 1803)
  • 461814 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.7.1

Versioni
CLR 4
Windows ✔️ 10 Fall Creators Update (versione 1709)
➕ 10 Creators Update (versione 1703)
➕ 10 Anniversary Update (versione 1607)
➕ 8.1
➕7
Windows Server ➕ Windows Server, versione 1803
✔️ Windows Server, versione 1709
➕ 2016
➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 461308 (Windows 10 Creators Update e Windows Server, versione 1709)
  • 461310 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.7

Versioni
CLR 4
Windows ✔️ 10 Creators Update (versione 1703)
➕ 10 Anniversary Update (versione 1607)
➕ 8.1
➕7
Windows Server ➕ 2016
➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 460798 (Windows 10 Creators Update)
  • 460805 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.6.2

Versioni
CLR 4
Windows ✔️ 10 Anniversary Update (versione 1607)
➕ 10 novembre (versione 1511)
➕ 10
➕ 8.1
➕ 7
Windows Server ✔️ 2016

➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 394802 (aggiornamento Windows 10'anniversario e Windows Server 2016)
  • 394806 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.6.1

Versioni
CLR 4
Incluso in Visual Studio 20171
Windows ✔️ 10 novembre (versione 1511)
➕ 10
➕ 8.1
➕ 8
➕ 7
Windows Server ➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1

1 Richiede l'installazione dei carichi di lavoro sviluppo desktop .NET, sviluppo ASP.NET e Web, sviluppo di Azure, sviluppo Office/SharePoint, sviluppo per dispositivi mobili con .NET o carichi di lavoro di sviluppo multipiattaforma .NET Core.

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 394254 (aggiornamento di novembre di Windows 10)
  • 394271 (tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET framework 4.6

Versioni
CLR 4
Incluso in Visual Studio 2015
Windows ✔️ 10

➕ 8.1
➕ 8
➕ 7
➕ Vista
Windows Server ➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1
➕ 2008 SP2

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 393295 (Windows 10)
  • 393297 (in tutte le altre versioni del sistema operativo)

Per altre informazioni, vedere le istruzioni.

.NET Framework 4.5.2

Versioni
CLR 4
Windows ➕ 8.1
➕ 8
➕ 7
➕ Vista
Windows Server ➕ 2012 R2
➕ 2012
➕ 2008 R2 SP1
➕ 2008 SP2

Per determinare la versione di .NET installata, usare Release DWORD 379893. Per altre informazioni, vedere le istruzioni.

.NET Framework 4.5.1

Versioni
CLR 4
Incluso in Visual Studio 2013
Windows ✔️ 8.1

➕ 8
➕ 7
➕ Vista
Windows Server ✔️ 2012 R2

➕ 2012
➕ 2008 R2 SP1
➕ 2008 SP2

Per determinare la versione di .NET installata, usare il Release valore DWORD seguente:

  • 378675 (Windows 8.1)
  • 378758 (tutte le altre Windows versioni)

Per altre informazioni, vedere le istruzioni.

Importante

A partire da Visual Studio 2022, Visual Studio non include più componenti .NET Framework per .NET Framework 4.0 - 4.5.1 perché queste versioni non sono più supportate. Visual Studio 2022 e versioni successive non possono compilare app che hanno come destinazione .NET Framework da 4.0 a .NET Framework 4.5.1. Per continuare a compilare queste app, è possibile usare Visual Studio 2019 o una versione precedente.

.NET Framework 4.5

Versioni
CLR 4
Incluso in Visual Studio 2012
Windows ✔️ 8
➕ 7
➕ Vista
Windows Server ✔️ 2012
➕ 2008 R2 SP1
➕ 2008 SP2

Per determinare la versione di .NET installata, usare Release DWORD 378389. Per altre informazioni, vedere le istruzioni.

Importante

A partire da Visual Studio 2022, Visual Studio non include più componenti .NET Framework per .NET Framework 4.0 - 4.5.1 perché queste versioni non sono più supportate. Visual Studio 2022 e versioni successive non possono compilare app che hanno come destinazione .NET Framework da 4.0 a .NET Framework 4.5.1. Per continuare a compilare queste app, è possibile usare Visual Studio 2019 o una versione precedente.

.NET Framework 4

Nuove funzionalità

Versioni
CLR 4
Incluso in Visual Studio 2010
Windows ➕ 7
➕ Vista
Windows Server ➕ 2008 R2 SP1
➕ 2008 SP2
➕ 2003

Per determinare la versione di .NET installata, vedere le istruzioni.

Importante

A partire da Visual Studio 2022, Visual Studio non include più componenti .NET Framework per .NET Framework 4.0 - 4.5.1 perché queste versioni non sono più supportate. Visual Studio 2022 e versioni successive non possono compilare app che hanno come destinazione .NET Framework da 4.0 a .NET Framework 4.5.1. Per continuare a compilare queste app, è possibile usare Visual Studio 2019 o una versione precedente.

.NET Framework 3.5

Nuove funzionalità:

  • LINQ
  • Alberi delle espressioni
  • Miglioramento ASP.NET supporto per lo sviluppo AJAX
  • HashSet (raccolte)
  • DateTimeOffset
  • Integrazione di WCF e WF
  • Rete peer-to-peer
  • Componenti aggiuntivi per l'estendibilità
Versioni
CLR 2.0
Incluso in Visual Studio 2008
Windows ✔️ 10*
✔️ 8.1*
✔️ 8*
✔️ 7

➕ Vista
Windows Server ➕ Windows Server, versione 1803*
➕ Windows Server, versione 1709*
➕ 2016*
➕ 2012 R2*
➕ 2012*

✔️ 2008 R2 SP1*

➕ 2008 SP2
➕ 2003

Per determinare la versione di .NET installata: vedere le istruzioni.

.NET Framework 3.0

Nuove funzionalità:

  • Windows Presentation Foundation
  • Windows Communication Foundation
  • Windows Workflow Foundation
  • Windows CardSpace
Versioni
CLR 2.0
Windows ✔️ Vista
Windows Server ✔️ 2008 R2 SP1*
✔️ 2008 SP2*

➕ 2003

Per determinare la versione di .NET installata: vedere le istruzioni.

.NET Framework 2.0

Nuove funzionalità:

  • Generics
  • Modifica e continuazione del debugger
  • Scalabilità e prestazioni migliorate
  • distribuzione ClickOnce
  • In ASP.NET 2.0, nuovi controlli e supporto per un'ampia gamma di browser
  • supporto 64 bit
Versioni
CLR 2.0
Incluso in Visual Studio 2005
Windows N/D
Windows Server ✔️ 2008 R2 SP1
✔️ 2008 SP2
✔️ 2003

Per determinare la versione di .NET installata: vedere le istruzioni.

.NET Framework 1.1

Nuove funzionalità:

  • ASP.NET controlli mobili
  • Esecuzione side-by-side
  • Supporto per IPv6
Versioni
CLR 1.1
Incluso in Visual Studio 2003
Windows N/D
Windows Server ✔️ 2003

Per determinare la versione di .NET installata: vedere le istruzioni.

.NET Framework 1.0

Versioni
CLR 1.0
Incluso in Visual Studio Visual Studio .NET
Windows N/D
Windows Server N/D

Per determinare la versione di .NET installata: vedere le istruzioni.

Nota

  • .NET Framework deve essere abilitato in questo sistema operativo tramite Pannello di controllo (per Windows)o il Server Manager (per Windows Server).
  • In generale, non è consigliabile disinstallare le versioni di .NET Framework installate nel computer, perché un'applicazione in uso può dipendere da una versione specifica e potrebbe interrompersi se tale versione viene rimossa. È possibile caricare più versioni .NET Framework in un singolo computer contemporaneamente. Ciò significa che è possibile installare .NET Framework senza dover disinstallare le versioni precedenti. Per altre informazioni, vedere Attività iniziali.

Osservazioni per la versione 4.5 e successive

.NET Framework 4.5 è un aggiornamento sul posto che sostituisce .NET Framework 4 nel computer, e analogamente, .NET Framework 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 e 4.8 sono aggiornamenti sul posto per .NET Framework 4.5. L'aggiornamento sul posto significa che usano la stessa versione di runtime, ma le versioni degli assembly vengono aggiornate e includono nuovi tipi e membri. Dopo aver installato uno di questi aggiornamenti, le app .NET Framework 4, .NET Framework 4.5, .NET Framework 4.6 o .NET Framework 4.7 dovrebbero continuare a funzionare senza richiedere la ricompilazione. Non è tuttavia consentito il contrario. Non è consigliabile eseguire app che hanno come destinazione una versione successiva .NET Framework in una versione precedente. Ad esempio, non è consigliabile eseguire un'app destinata a .NET Framework 4.6 in .NET Framework 4.5.

Vengono applicate le linee guida riportate di seguito:

  • In Visual Studio è possibile scegliere .NET Framework 4.5 come framework di destinazione per un progetto (viene impostata la proprietà GetReferenceAssemblyPaths.TargetFrameworkMoniker) per compilare il progetto come assembly o file eseguibile di .NET Framework 4.5. Questo assembly o file eseguibile puoi poi essere usato in qualsiasi computer in cui è installato .NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 o 4.8.

  • In Visual Studio è possibile scegliere .NET Framework 4.5.1 come framework di destinazione per un progetto per compilarlo come assembly o eseguibile di .NET Framework 4.5.1. Eseguire questo assembly o eseguibile solo nei computer in cui è installato .NET Framework 4.5.1 o versione successiva. L'esecuzione di un file eseguibile destinato a .NET Framework 4.5.1 verrà bloccata in un computer in cui è installata solo una versione precedente di .NET Framework, ad esempio .NET Framework 4.5. All'utente verrà richiesto di installare .NET Framework 4.5.1. Inoltre, gli .NET Framework 4.5.1 non devono essere chiamati da un'app destinata a una versione precedente di .NET Framework, ad esempio .NET Framework 4.5.

    Nota

    .NET framework 4.5.1 e .NET Framework 4.5 vengono usati qui solo come esempi. Il principio descritto si applica a qualsiasi app destinata a una versione successiva di .NET Framework rispetto a quella installata nel sistema in cui è in esecuzione.

Alcune modifiche al .NET Framework potrebbero richiedere modifiche al codice dell'app. Vedere Compatibilità delle applicazioni prima di eseguire le app esistenti con .NET Framework 4.5 o versioni successive. Per altre informazioni sull'installazione della versione corrente, vedere Install the .NET Framework for developers (Installare .NET Framework per sviluppatori). Per informazioni sul supporto per il .NET Framework, .NET Framework criteri di supporto ufficiali nel sito Web .NET.

Osservazioni per le versioni precedenti

Le versioni 2.0, 3.0 e 3.5 di .NET Framework sono compilate con la stessa versione di CLR (CLR 2.0). Queste versioni rappresentano i livelli successivi di una singola installazione. Ogni versione viene compilata in modo incrementale sulle versioni precedenti. Non è possibile eseguire le versioni 2.0, 3.0 e 3.5 affiancate in un computer. Se si installa la versione 3.5, si ottengono automaticamente i livelli 2.0 e 3.0 e le app create per le versioni 2.0, 3.0 e 3.5 possono essere eseguite sulla versione 3.5. Tuttavia, .NET Framework 4 interrompe questo approccio su più livelli e le versioni successive (.NET Framework 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2 e 4.8) rappresentano anche i livelli successivi di una singola installazione. A partire .NET Framework 4, è possibile usare l'hosting affiancato in-process per eseguire più versioni di CLR in un unico processo. Per altre informazioni, vedere Assembly ed esecuzione side-by-side.

Inoltre, se l'app è destinata alla versione 2.0, 3.0 o 3.5, agli utenti potrebbe essere richiesto di abilitare .NET Framework 3.5 in un computer Windows 8, Windows 8.1 o Windows 10 prima di poter eseguire l'app. Per altre informazioni, vedere Installare .NET Framework 3.5 in Windows 11, Windows 10, Windows 8.1 e Windows 8.

Importante

A partire da Visual Studio 2022, Visual Studio non include più componenti .NET Framework per .NET Framework 4.0 - 4.5.1 perché queste versioni non sono più supportate. Visual Studio 2022 e versioni successive non possono compilare app che hanno come destinazione .NET Framework da 4.0 a .NET Framework 4.5.1. Per continuare a compilare queste app, è possibile usare Visual Studio 2019 o una versione precedente.

Passaggi successivi

Vedi anche