C# .NET e .NET Core: guida alle versioni e ai termini

C# .NET e .NET Core: guida alle versioni e ai termini


Introduzione

Chi si avvicina al mondo C# e .NET spesso rimane confuso da termini come .NET Framework, .NET Core, .NET 5/6/7/8/9 e dalle differenze tra runtime, SDK e CLR.
Questa guida nasce per fare chiarezza e fornire una panoramica aggiornata e semplice da consultare.


.NET Framework: l’origine

  • Lanciato nel 2002 insieme al linguaggio C#.
  • Funziona solo su Windows.
  • Includeva librerie per desktop (WinForms, WPF), ASP.NET WebForms e servizi Windows.
  • È oggi in manutenzione, non più sviluppato attivamente (ultima versione stabile: .NET Framework 4.8.1).

Quando usarlo?
Solo se si lavora su progetti legacy Windows che non possono essere migrati.


.NET Core: la svolta cross-platform

  • Introdotto nel 2016 come risposta alla necessità di avere un framework open source, modulare e multipiattaforma (Windows, Linux, macOS).
  • Ha portato con sé ASP.NET Core, Entity Framework Core e un sistema di runtime più performante.
  • Ultima versione: .NET Core 3.1, rilasciata nel 2019 e terminata il 13 dicembre 2022 (End Of Life).

Oggi (2025) .NET Core non è più supportato: è stato completamente sostituito da .NET 5 e successivi.


Da .NET 5 in poi: unificazione

Nel 2020 Microsoft ha unificato .NET Core e .NET Framework sotto un unico nome: .NET.

Timeline delle versioni moderne

  • .NET 5 (2020) → primo passo verso un framework unico, STS.
  • .NET 6 (2021) → versione LTS (Long Term Support).
  • .NET 7 (2022) → versione STS, supporto terminato nel maggio 2024.
  • .NET 8 (2023)LTS, attualmente la versione più stabile e diffusa in produzione.
  • .NET 9 (2024)STS, rilasciato a novembre 2024, supporto fino a maggio 2026.
  • .NET 10 (2025)LTS previsto a novembre 2025, sarà la nuova base stabile per i prossimi anni.

Terminologia chiave

  • CLR (Common Language Runtime): il motore di esecuzione di .NET.
  • BCL (Base Class Library): le librerie di base (stringhe, collezioni, IO).
  • SDK (Software Development Kit): tutto ciò che serve per sviluppare (compiler, strumenti, librerie).
  • Runtime: il motore che esegue il codice compilato.
  • LTS (Long Term Support): supporto a lungo termine (3 anni).
  • STS (Standard Term Support): supporto breve (18 mesi), più innovazione.

Quale versione usare oggi?

  • Nuovi progetti → usa sempre l’ultima versione LTS (oggi .NET 8, presto .NET 10).
  • Progetti enterprise → LTS garantisce stabilità e patch di sicurezza a lungo termine.
  • Progetti sperimentali o interni → puoi optare per STS (es. .NET 9) per avere le novità più fresche.

Tabella comparativa versioni .NET

VersioneAnno rilascioSupportoNote principali
.NET Framework 4.8.12019In manutenzioneSolo Windows, legacy
.NET Core 3.12019EOL dic 2022Ultima versione Core
.NET 52020EOL mag 2022Prima unificazione
.NET 62021LTS fino a nov 2024Stabile, ancora usato
.NET 72022EOL mag 2024Versione breve
.NET 82023LTS fino a nov 2026Oggi la più diffusa
.NET 92024STS fino a mag 2026Novità in AI & cloud
.NET 102025LTS fino a nov 2028Prossima base stabile

Conclusione

Il mondo .NET ha vissuto un’evoluzione significativa: da framework legato a Windows a piattaforma open source e cross-platform.
Oggi, il consiglio è chiaro: usa .NET (6, 8, 10…) e abbandona il vecchio .NET Framework, salvo obblighi di legacy.


FAQ – Domande frequenti su .NET

❓ Qual è la differenza tra .NET Framework e .NET Core?

  • Risposta breve: .NET Framework funziona solo su Windows ed è usato per progetti legacy, mentre .NET Core è multipiattaforma, open source e oggi sostituito da .NET 5+.
  • Dettaglio: .NET Framework include tecnologie storiche (WinForms, WPF, ASP.NET WebForms), mentre .NET Core ha introdotto ASP.NET Core, EF Core e un runtime più leggero.

❓ Esiste ancora supporto per .NET Framework?

  • Risposta breve: Sì, ma solo in manutenzione: riceve patch di sicurezza ma nessuna nuova funzionalità.
  • Dettaglio: L’ultima versione è .NET Framework 4.8.1 ed è ancora supportata per applicazioni Windows legacy.

❓ Quale versione di .NET usare per un nuovo progetto?

  • Risposta breve: Per nuovi progetti scegli sempre l’ultima versione LTS: oggi .NET 8, presto .NET 10.
  • Dettaglio: Le versioni LTS garantiscono 3 anni di supporto, ideali per produzione enterprise.

❓ Cosa significano LTS e STS in .NET?

  • Risposta breve: LTS significa supporto a lungo termine (3 anni), STS supporto breve (18 mesi).
  • Dettaglio: Le versioni STS includono le ultime novità ma vanno aggiornate più spesso, mentre LTS privilegia stabilità e sicurezza.

❓ Posso migrare da .NET Framework a .NET 8 o 10?

  • Risposta breve: Sì, ma la complessità dipende dal tipo di applicazione: app moderne migrano facilmente, quelle legacy richiedono refactoring.
  • Dettaglio: API come WebForms e WCF non sono supportate e vanno sostituite (es. gRPC al posto di WCF).

❓ C# e .NET sono la stessa cosa?

  • Risposta breve: No: C# è un linguaggio di programmazione, .NET è la piattaforma che lo esegue.
  • Dettaglio: C# è solo uno dei linguaggi supportati da .NET, insieme a F# e VB.NET.

❓ Quando esce .NET 10?

Dettaglio: Sarà la nuova base stabile per progetti enterprise e cloud-native.

Risposta breve: .NET 10 sarà rilasciato a novembre 2025 come versione LTS con supporto fino al 2028.

Risorse consigliate per approfondire

  • Microsoft: .NET and .NET Core Support Policy — policy ufficiale sul ciclo di vita di .NET e .NET Core, versioni supportate, date di fine supporto. Microsoft
  • Microsoft: .NET Migration Documentation — guida per migrare applicazioni da .NET Framework a .NET moderno. Microsoft Learn
  • Microsoft: Microsoft .NET and .NET Core – Lifecycle — panoramica sul supporto delle versioni, storico e dettagli del ciclo di vita. Microsoft Learn
  • Microsoft: .NET Framework official support policy — info su .NET Framework, versioni supportate, policy di distribuzione con Windows. Microsoft
  • Microsoft: Porting da .NET Framework a .NET (Port from .NET Framework to .NET) — cosa considerare, compatibilità, strumenti e strategie per il porting. Microsoft Learn
  • Microsoft: Migrate from ASP.NET Core in .NET 7 to .NET 8 — guida operativa per aggiornare da .NET 7 ad .NET 8. Microsoft Learn

Pubblicato

in

,

da