Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come pianificare ed eseguire gli aggiornamenti delle applicazioni .NET. Consente di valutare l'app corrente, scegliere il percorso di aggiornamento corretto, usare gli strumenti disponibili e convalidare l'app aggiornata. Usare le indicazioni per eseguire l'aggiornamento da .NET Framework a .NET moderne, passare alla versione .NET più recente o modernizzare l'app per cloud e contenitori.
Quando eseguire l'aggiornamento
Prendere in considerazione l'aggiornamento quando i segnali aziendali o tecnici mostrano un valore chiaro:
- .NET o altre dipendenze raggiungono il termine del supporto.
- Vengono individuate nuove vulnerabilità di sicurezza oppure è necessario soddisfare nuovi requisiti di conformità.
- Si riscontrano limiti di prestazioni o di scalabilità che le versioni più recenti di .NET risolvono.
L'aggiornamento è anche una buona opportunità per modernizzare l'app. Ad esempio, è possibile inserire in contenitori l'app, spostare un componente in un servizio nativo del cloud o applicare modelli cloud che migliorano l'affidabilità e l'operabilità. L'aggiornamento aumenta anche la produttività degli sviluppatori abilitando sdk, modelli e funzionalità del linguaggio più recenti che semplificano lo sviluppo e riducono la manutenzione.
Classificare in ordine di priorità gli aggiornamenti in base al rischio e al ritorno: eseguire una valutazione mirata, testare le modifiche in un progetto a basso rischio e usare i risultati per pianificare migrazioni più ampie.
Ciclo di vita delle versioni di .NET
.NET rilascia una nuova versione principale annuale, alternando tra le versioni stS (Standard-Term Support) e LTS (Long-Term Support). Ogni versione ha una finestra di supporto definita, dopo la quale non riceve più aggiornamenti di sicurezza e qualità. Pianificare la cadenza dell'aggiornamento in base a queste date in modo che le app rimangano su una versione supportata:
- Le versioni LTS sono supportate per tre anni e sono la scelta tipica per le app di produzione che preferiscono la stabilità.
- Le versioni stS sono supportate per 18 mesi e sono utili quando si vogliono adottare le nuove funzionalità prima.
Per le versioni supportate, le date di fine del supporto e le linee guida per l'applicazione di patch, vedere .NET versioni, patch e supporto e .NET e .NET Framework support policy.
L'SDK di .NET può avere come destinazione le versioni precedenti di .NET, che potrebbe essere necessario se si esegue la distribuzione in un servizio di hosting che non supporta ancora il runtime più recente. Mantenere aggiornati gli strumenti di sviluppo perché ogni versione risolve le vulnerabilità di sicurezza e aggiunge compatibilità con le nuove tecnologie.
Scegliere un percorso di aggiornamento
La maggior parte degli aggiornamenti rientra in una delle categorie seguenti. Iniziare con le linee guida corrispondenti allo scenario, quindi usare gli strumenti descritti più avanti in questo articolo per eseguire il lavoro.
da .NET Framework a .NET moderno
Sposta le app .NET Framework solo per Windows in .NET multipiattaforma. Il modello di app, il formato del progetto e alcune API cambiano e potrebbe essere necessario sostituire le tecnologie non disponibili nelle .NET moderne. Per una panoramica delle modifiche e della pianificazione, vedere Panoramica della conversione da .NET Framework a .NET. Indicazioni correlate:
Dalle versioni precedenti di .NET all'ultima versione di .NET
Passare da una versione non supportata o precedente .NET alla versione corrente. Questi aggiornamenti sono in genere più circoscritti e riguardano soprattutto aggiornamenti del framework di destinazione, delle dipendenze e delle modifiche incompatibili. Esamina le modifiche che causano interruzioni in .NET per le versioni che stai passando.
Modernizzare dopo l'aggiornamento
Dopo aver compilato ed eseguito l'app in una versione moderna di .NET, puoi sfruttare schemi più recenti come la configurazione
appsettings.json, l'iniezione delle dipendenze e i moderni controlli Web e desktop. Per idee e indicazioni dettagliate, vedere Modernize dopo l'aggiornamento a .NET da .NET Framework.Passa al cloud
Containerizza la tua app, sostituisci i componenti on-premises con servizi gestiti e adotta modelli cloud per affidabilità e osservabilità.
Modernizzazione di GitHub app Copilot (scelta consigliata)
L'agente di modernizzazione GitHub app Copilot offre un'esperienza end-to-end assistita dall'intelligenza artificiale che velocizza il lavoro di conversione e modernizzazione. L'agente analizza il progetto e scrive un piano per completare l'aggiornamento desiderato. Puoi regolare e iterare sul piano, poi eseguire gli aggiornamenti. Con questo agente è possibile:
- Aggiornare i progetti a una versione .NET più recente.
- Valutare il codice, la configurazione e le dipendenze dell'applicazione.
- Eseguire la migrazione di progetti da versioni precedenti di .NET alla versione più recente.
- Migra su Azure le tecnologie da cui dipende la tua app.
- Pianificare e fornire le risorse di Azure appropriate.
- Risolvere i problemi e applicare le procedure consigliate per la migrazione al cloud.
- Verifica che l'app venga compilata correttamente e che i test siano superati.
Usare l'agente quando si vuole un percorso guidato basato sull'intelligenza artificiale per valutare, correggere e modernizzare le codebase, in particolare per i progetti che hanno molte dipendenze, si basano su API specifiche di Windows o che si prevede di inserire in contenitori o di eseguire la migrazione al cloud. Per ulteriori informazioni, vedere Che cos'è la modernizzazione delle applicazioni di GitHub Copilot.
.NET Upgrade Assistant (deprecato)
.NET Upgrade Assistant è un'estensione di Visual Studio e uno strumento da riga di comando che analizza un progetto e applica le modifiche di aggiornamento più comuni. È ufficialmente deprecato a favore dell'agente di modernizzazione delle app di GitHub Copilot e non è più in fase di sviluppo attivo. Usarlo solo se non è possibile usare l'agente di modernizzazione, ad esempio se l'ambiente non ha accesso a GitHub Copilot. Il nuovo lavoro dovrebbe invece essere indirizzato all'agente di modernizzazione.