Versioni e supporto per .NET
Microsoft offre versioni principali, versioni secondarie e aggiornamenti di manutenzione (patch) per .NET. Questo articolo illustra i tipi di versione, gli aggiornamenti di manutenzione, le bande di funzionalità dell'SDK, i periodi di supporto e le opzioni di supporto.
Nota
Per informazioni sul controllo delle versioni e sul supporto per .NET Framework, vedere Ciclo di vita di .NET Framework.
Tipi di rilascio
Le informazioni sul tipo di ogni versione vengono codificate nel numero di versione nel formato major.minor.patch.
Ad esempio:
- .NET 6 e .NET 7 sono versioni principali.
- .NET Core 3.1 è la prima versione secondaria dopo la versione principale di .NET Core 3.0.
- .NET Core 5.0.15 è la quindicesima patch per .NET 5.
Per un elenco delle versioni rilasciate di .NET e informazioni sulla frequenza di spedizione di .NET, vedere i criteri di supporto.
Versioni principali
Le versioni principali includono nuove funzionalità, una nuova superficie di attacco dell'API pubblica e correzioni di bug. Gli esempi includono .NET 6 e .NET 7. A causa della natura delle modifiche, queste versioni dovrebbero avere modifiche di rilievo. Le versioni principali vengono installate side-by-side con le versioni principali precedenti.
Versioni secondarie
Le versioni secondarie includono anche nuove funzionalità, l'area di attacco dell'API pubblica e le correzioni di bug e possono anche avere modifiche che causa un'interruzione. Un esempio è .NET Core 3.1. La differenza tra queste e le versioni principali è che la grandezza delle modifiche è più piccola. Un'applicazione che esegue l'aggiornamento da .NET Core 3.0 a 3.1 ha un salto minore da compiere. Le versioni secondarie vengono installate side-by-side con le versioni secondarie precedenti.
Aggiornamenti di manutenzione
Gli aggiornamenti di manutenzione (patch) vengono forniti quasi ogni mese e questi aggiornamenti contengono correzioni di bug di sicurezza e non di sicurezza. Ad esempio, .NET 5.0.8 è stato l'ottavo aggiornamento per .NET 5. Quando questi aggiornamenti includono correzioni di sicurezza, vengono rilasciate il "patch tuesday", che è sempre il secondo martedì del mese. È previsto che gli aggiornamenti di manutenzione mantengano la compatibilità. A partire da .NET Core 3.1, gli aggiornamenti di manutenzione sono aggiornamenti che rimuovono l'aggiornamento precedente. Ad esempio, l'aggiornamento di manutenzione più recente per la versione 3.1 rimuove l'aggiornamento 3.1 precedente al termine dell'installazione.
Bande di funzionalità (solo SDK)
Il controllo delle versioni per .NET SDK funziona in modo leggermente diverso dal runtime .NET. Per allinearsi alle nuove versioni di Visual Studio, gli aggiornamenti di .NET SDK includono talvolta nuove funzionalità o nuove versioni di componenti come MSBuild e NuGet. Queste nuove funzionalità o componenti potrebbero non essere compatibili con le versioni fornite negli aggiornamenti dell'SDK precedenti per la stessa versione principale o secondaria.
Per differenziare tali aggiornamenti, .NET SDK usa il concetto di bande di funzionalità. Ad esempio, il primo SDK .NET 5 era 5.0.100. Questa versione corrisponde alla banda di funzionalità 5.0.1xx. Le bande di funzionalità sono definite nei gruppi delle centinaia nella terza sezione del numero di versione. Ad esempio, 5.0.101 e 5.0.201 sono versioni in due diverse bande di caratteristiche, mentre 5.0.101 e 5.0.199 si trovano nella stessa banda di funzionalità. Quando viene installato .NET SDK 5.0.101, .NET SDK 5.1.100 viene rimosso dal computer, se presente. Quando .NET SDK 5.0.200 viene installato nello stesso computer, .NET SDK 5.0.101 non viene rimosso.
Per altre informazioni sulla relazione tra .NET SDK e le versioni di Visual Studio, vedere .NET SDK, MSBuild e Controllo delle versioni di Visual Studio.
Roll forward e compatibilità del runtime
Gli aggiornamenti principali e secondari vengono installati side-by-side con le versioni precedenti. Un'applicazione compilata per una specifica versione major.minor continua a usare tale runtime di destinazione anche se è installata una versione più recente. L'app non esegue automaticamente il roll forward per usare una versione più recente major.minor del runtime, a meno che non si acconsenta a questo comportamento. Un'applicazione compilata per .NET Core 3.0 non viene avviata automaticamente in .NET Core 3.1. È consigliabile ricompilare l'app e il test su una versione di runtime principale o secondaria più recente prima della distribuzione nell'ambiente di produzione. Per altre informazioni, vedere Roll forward delle app dipendenti dal framework e Roll forward del runtime di distribuzione self-contained.
Gli aggiornamenti di manutenzione vengono trattati in modo diverso rispetto alle versioni principali e secondarie. Un'applicazione compilata per la destinazione .NET 7 viene eseguita nel runtime 7.0.0 per impostazione predefinita. Esegue automaticamente il roll forward per usare un runtime 7.0.1 più recente quando viene installato l'aggiornamento di manutenzione. Questo comportamento è l'impostazione predefinita perché si vuole che le correzioni di sicurezza vengano usate non appena vengono installate senza altre azioni necessarie. È possibile rifiutare esplicitamente questo comportamento di roll forward predefinito.
Cicli di vita delle versioni di .NET
Le versioni di .NET adottano il ciclo di vita moderno anziché il ciclo di vita fisso usato per le versioni di .NET Framework. I prodotti che adottano un ciclo di vita moderno hanno un modello di supporto simile al servizio, con periodi di supporto più brevi e versioni più frequenti.
Tracce di rilascio
Esistono due tracce di supporto per le versioni:
Versioni di supporto per termini standard (STS)
Queste versioni sono supportate fino a 6 mesi dopo la prossima versione principale o secondaria.
Esempio:
- .NET 5 è una versione STS ed è stata rilasciata a novembre 2020. È stata supportata per 18 mesi, fino a maggio 2022.
- .NET 7 è una versione STS ed è stata rilasciata a novembre 2022. È supportata per 18 mesi, fino a maggio 2024.
Versioni di Supporto a lungo termine (LTS)
Queste versioni sono supportate per almeno 3 anni o 1 anno dopo la successiva versione LTS, se tale data è successiva.
Esempio:
- .NET Core 3.1 è una versione LTS ed è stata rilasciata a dicembre 2019. È stata supportata per 3 anni, fino a dicembre 2022.
- .NET 6 è una versione LTS ed è stata rilasciata a novembre 2021. È supportata per 3 anni, fino a novembre 2024.
Le versioni si alternano tra LTS e STS, quindi è possibile che una versione precedente sia supportata più a lungo rispetto a una versione successiva. Ad esempio, .NET Core 3.1 era una versione LTS con supporto fino a dicembre 2022. La versione di .NET 5 è stata rilasciata quasi un anno dopo, ma è uscita dal supporto precedente, nel maggio 2022.
Gli aggiornamenti di manutenzione vengono forniti mensilmente e includono correzioni di sicurezza e non di sicurezza (affidabilità, compatibilità e stabilità). Gli aggiornamenti di manutenzione sono supportati fino al rilascio dell'aggiornamento di manutenzione successivo. Gli aggiornamenti di manutenzione hanno un comportamento di roll forward in fase di esecuzione. Ciò significa che per impostazione predefinita le applicazioni vengono eseguite nell'aggiornamento di manutenzione del runtime installato più recente.
Come scegliere una versione
Se si sta creando un servizio e ci si aspetta di continuare ad aggiornarlo regolarmente, una versione del servizio token di sicurezza come il runtime .NET 7 può essere l'opzione migliore per rimanere aggiornati con le funzionalità più recenti che .NET deve offrire.
Se si sta creando un'applicazione client che verrà distribuita ai consumer, la stabilità potrebbe essere più importante dell'accesso alle funzionalità più recenti. L'applicazione potrebbe essere supportata per un determinato periodo prima che il consumer possa eseguire l'aggiornamento alla versione successiva dell'applicazione. In tal caso, una versione LTS come il runtime .NET 6 potrebbe essere l'opzione corretta.
Nota
È consigliabile eseguire l'aggiornamento alla versione più recente dell'SDK, anche se si tratta di una versione del servizio token di sicurezza, in quanto può avere come destinazione tutti i runtime disponibili.
Supporto per gli aggiornamenti di manutenzione
Gli aggiornamenti di manutenzione di .NET sono supportati fino al rilascio dell'aggiornamento di manutenzione successivo. La frequenza di rilascio è mensile.
È necessario installare regolarmente gli aggiornamenti di manutenzione per assicurarsi che le app siano in uno stato sicuro e supportato. Ad esempio, se l'aggiornamento di manutenzione più recente per .NET 7 è 7.0.8 e viene fornito 7.0.9, la versione 7.0.8 non è più la più recente. Il livello di manutenzione supportato per .NET 7 è quindi 7.0.9.
Per informazioni sugli aggiornamenti di manutenzione più recenti per ogni versione principale e secondaria, vedere la pagina dei download di .NET.
Fine del supporto
La fine del supporto fa riferimento alla data successiva alla quale Microsoft non fornisce più correzioni, aggiornamenti o assistenza tecnica per una versione del prodotto. Prima di questa data, assicurarsi di essere passati all’uso di una versione supportata. Le versioni non supportate non ricevono più aggiornamenti della sicurezza che proteggono le applicazioni e i dati. Per gli intervalli di date supportati per ogni versione di .NET, vedere i criteri di supporto.
Sistemi operativi supportati
.NET può essere eseguito in un'ampia gamma di sistemi operativi. Ognuno di questi sistemi operativi ha un ciclo di vita definito dall'organizzazione sponsor (ad esempio, Microsoft, Red Hat o Apple). Queste pianificazioni del ciclo di vita vengono prese in considerazione quando si aggiunge e rimuove il supporto per le versioni del sistema operativo.
Quando una versione del sistema operativo non è supportata, si arresta il test di tale versione e viene fornito il supporto per tale versione. Gli utenti devono passare a una versione supportata del sistema operativo per ottenere supporto.
Per altre informazioni, vedere Criteri relativi al ciclo di vita del sistema operativo .NET.
Ottenere supporto
È possibile scegliere tra il supporto assistito da Microsoft e il supporto della community.
Supporto tecnico Microsoft
Per il supporto assistito, contattare un professionista del supporto tecnico Microsoft.
È necessario avere un livello di manutenzione supportato (l'aggiornamento di manutenzione disponibile più recente) per essere idonei per il supporto. Se un sistema esegue .NET 7 ed è stato rilasciato l'aggiornamento di manutenzione 7.0.8, come primo passaggio deve essere installata la versione 7.0.8.
Supporto della community
Per il supporto della community, vedere la pagina community.