YuSMP Group logo
YuSMP Group Editorial Team Redazione, YuSMP Group
Un laptop con del codice su una scrivania in una sala server, collegato da un fascio di luce a un vecchio cubo opaco e a un nuovo cubo viola luminoso, a suggerire un percorso di aggiornamento del runtime

In breve

Se le vostre applicazioni in produzione girano ancora su .NET 8 o .NET 9, dal 10 novembre 2026 non ricevono più correzioni di sicurezza. Le versioni supportate sono ora .NET 10 LTS e il nuovo .NET 11. Entrambe perdono il supporto lo stesso giorno di novembre 2028, quindi scegliere .NET 11 non significa più avere un orizzonte più breve. Per i team che gestiscono lo sviluppo .NET internamente o con un fornitore, l’aggiornamento va inserito nella pianificazione di questo trimestre.

Cosa ha rilasciato Microsoft il 10 novembre?

Microsoft ha distribuito .NET 11 come lancio principale della .NET Conf 2026. La release comprende C# 15, F# 11, aggiornamenti del runtime e delle librerie e modifiche in ASP.NET Core, Blazor, .NET MAUI e nell’SDK.

Lo stesso giorno .NET 8 e .NET 9 hanno raggiunto la fine del supporto. Microsoft ha pubblicato le ultime patch, 8.0.34 e 9.0.23. Le nuove vulnerabilità di questi runtime non verranno più corrette. Il problema è tutto qui.

Quali versioni di .NET sono ancora supportate?

Oggi le versioni supportate sono due: .NET 10 e .NET 11. La politica di supporto di Microsoft ora garantisce alle release STS due anni anziché 18 mesi. Di conseguenza, la release dispari e la release LTS precedente terminano nella stessa data.

VersioneTipoRilascioFine supportoStato
.NET 8LTS14/11/202310/11/2026Fuori supporto
.NET 9STS12/11/202410/11/2026Fuori supporto
.NET 10LTS11/11/202514/11/2028Supportata
.NET 11STS10/11/202614/11/2028Supportata

Fonte: politica di supporto .NET di Microsoft, verificata il 12 novembre 2026.

Cosa c’è di nuovo in .NET 11 e C# 15?

Le novità del linguaggio C# 15

  • Tipi union. Un valore può essere uno tra un insieme dichiarato di tipi caso. Il compilatore verifica che un’espressione switch gestisca ogni caso.
  • Gerarchie chiuse. Una classe base può limitare l’ereditarietà diretta al proprio assembly, così l’insieme dei sottotipi è noto.
  • Completano il quadro aggiunte minori: argomenti nelle collection expression, indicizzatori di estensione e break e continue con etichetta.

Novità per web, mobile e strumenti

  • ASP.NET Core: OpenAPI 3.2 è il predefinito, Minimal API e form supportano la validazione asincrona e SignalR può rinnovare l’autenticazione senza riconnettersi.
  • .NET MAUI: CoreCLR è ora il runtime predefinito su tutte le piattaforme. Sulle piattaforme Apple, dove la compilazione JIT non è consentita, usa codice precompilato e un interprete. Native AOT per Android resta sperimentale.
  • SDK: i comandi della CLI si avviano tramite un host Native AOT e il server MSBuild resta attivo tra una build e l’altra. Il nuovo gestore di toolchain dotnetup è in anteprima pubblica.
  • IA: l’SDK include un template dotnet new mcpserver accanto a Microsoft.Extensions.AI e Microsoft Agent Framework.
  • Runtime async, che sposta la sospensione asincrona nel runtime per stack trace più leggibili, è ancora in anteprima e solo su attivazione esplicita.

Cosa può rompersi durante l’aggiornamento?

Microsoft segnala alcune modifiche da valutare prima di passare in produzione:

  • I requisiti minimi di CPU sono stati innalzati. Verificate i vecchi build agent, le VM e i server on-premise rispetto alle note di compatibilità.
  • Entity Framework Core 11 richiede .NET 11. Se standardizzate su .NET 10, restate su EF Core 10.
  • Il pacchetto opzionale Microsoft.Maui.Controls.Compatibility non viene più distribuito, quindi il vecchio codice in stile Xamarin.Forms va migrato.
  • Per lo sviluppo serve un Visual Studio 2026 aggiornato oppure VS Code con C# Dev Kit.

Cosa significa per i team software negli Stati Uniti e nell’UE

Perché un runtime non supportato è un rischio di compliance?

Un runtime non supportato oggi è un rilievo di audit, non solo debito tecnico. Gli auditor SOC 2, i valutatori PCI DSS e i questionari di sicurezza dei clienti chiedono spesso se il software in produzione riceve le patch del fornitore. Nell’UE, NIS2 e DORA spingono le aziende regolamentate e i loro fornitori nella stessa direzione. Un’API .NET 8 che a ottobre andava bene oggi è un punto aperto.

Meglio passare a .NET 10 o a .NET 11?

Scegliere tra .NET 10 e .NET 11 è più semplice che in passato. Poiché entrambe terminano il 14 novembre 2028, .NET 11 non obbliga più a scambiare durata del supporto con funzionalità. La vera domanda è quanto spesso volete aggiornare:

  • Scegliete .NET 10 se dipendete da librerie di terze parti o SDK di fornitori che certificano solo le release LTS, o se il vostro processo di approvazione delle modifiche è lento.
  • Scegliete .NET 11 se volete le union di C# 15, EF Core 11, CoreCLR in MAUI o la CLI più veloce e potete testare una nuova release ogni novembre.

In ogni caso, se Microsoft manterrà la cadenza annuale di novembre, .NET 12 LTS arriverà a novembre 2027 e il ciclo ricomincerà. Mettete quindi a budget gli aggiornamenti come attività ricorrente. Non sono più un progetto una tantum.

Cosa significa per il mercato italiano

In Italia molte applicazioni .NET gestionali e verticali sono sviluppate e mantenute da software house e system integrator per conto di PMI, banche e pubblica amministrazione: è lì che un runtime scaduto rischia di restare in produzione più a lungo. Con il D.Lgs. 138/2024, che recepisce NIS2, i soggetti nel perimetro vigilato dall’ACN devono dimostrare una gestione strutturata delle vulnerabilità, mentre banche e assicurazioni applicano DORA da gennaio 2025. Per tutti, un .NET 8 senza patch diventa un punto da giustificare a ogni audit.

In pratica conviene chiedere subito al proprio fornitore un piano di migrazione con tempi e costi, invece di scoprirlo al prossimo rinnovo del contratto di manutenzione. Chi lavora con cicli di rilascio lunghi, come molte realtà enterprise e della PA, tenderà a preferire .NET 10 LTS.

Cosa dovrebbero fare i team in questo trimestre?

  1. Censire i runtime. Elencate ogni servizio, funzione, immagine container e applicazione desktop per target framework, compresi i pin in global.json e le immagini di base.
  2. Ordinare per esposizione. Migrate per prime le API esposte su Internet e le applicazioni che trattano dati di pagamento o sanitari.
  3. Scegliere un target. Optate per .NET 10 o .NET 11 per ogni prodotto, secondo i criteri sopra, e documentate la decisione.
  4. Verificare le dipendenze. Accertatevi che pacchetti NuGet, ORM e SDK dei fornitori supportino il target e controllate i requisiti di CPU dei build agent.
  5. Aggiornare per fasi. Spostate prima le librerie condivise, eseguite l’intera suite di test e un rollout graduale, poi dismettete le vecchie immagini.

Domande frequenti

Quando è terminato il supporto di .NET 8 e .NET 9?

Entrambi hanno raggiunto la fine del supporto il 10 novembre 2026, giorno del rilascio di .NET 11. Le ultime patch sono 8.0.34 e 9.0.23. Da quella data Microsoft non fornisce più correzioni di sicurezza, correzioni di bug né supporto tecnico.

.NET 11 è una release LTS?

No. .NET 11 è una release Standard Term Support (STS) con due anni di supporto. Secondo l’attuale politica di Microsoft, il suo supporto termina il 14 novembre 2028, lo stesso giorno di .NET 10, l’attuale release Long Term Support.

Conviene passare a .NET 10 o a .NET 11?

Entrambe sono supportate fino al 14 novembre 2028, quindi la scelta dipende dalle funzionalità e dal ritmo di aggiornamento. Scegliete .NET 10 se le vostre librerie o gli SDK dei fornitori certificano solo le release LTS. Scegliete .NET 11 se volete i tipi union di C# 15, EF Core 11 o CoreCLR in .NET MAUI e potete testare una nuova release ogni anno.

Cosa sono i tipi union in C# 15?

Un tipo union dichiara che un valore può essere uno tra un insieme fisso di tipi caso. Il compilatore converte da quei tipi e verifica che le espressioni switch gestiscano ogni caso, eliminando un’intera classe di bug dovuti a casi dimenticati. Insieme arrivano le gerarchie chiuse, che limitano l’ereditarietà all’assembly che le dichiara.

Cosa verificare prima di portare le applicazioni di produzione su .NET 11?

Verificate i requisiti minimi di CPU più alti su server e build agent, accertatevi che i pacchetti NuGet e gli SDK dei fornitori supportino .NET 11, pianificate EF Core 11 e aggiornate a un Visual Studio 2026 recente. Le app .NET MAUI che usavano il pacchetto Microsoft.Maui.Controls.Compatibility vanno migrate, perché non viene più distribuito.

Fonti

Microsoft .NET Blog — Announcing .NET 11 (fonte primaria, 10 novembre 2026)
Microsoft — Politica ufficiale di supporto di .NET e .NET Core (date di fine supporto)
Visual Studio Magazine — .NET 11 Ships with C# 15 Unions, Faster Tools and CoreCLR for MAUI (10 novembre 2026)
ITdaily — Microsoft releases .NET 11 with C# 15 and CoreCLR for MAUI (novembre 2026)