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.
GitHub Copilot la modernizzazione è un agente di GitHub Copilot che consente di aggiornare i progetti a versioni più recenti di .NET e migrare applicazioni .NET su Azure in modo rapido e sicuro. Illustra la valutazione, le raccomandazioni sulle soluzioni, le correzioni del codice e la convalida in Visual Studio, Visual Studio Code, interfaccia della riga di comando di GitHub Copilot e GitHub.com.
Usare questo agente per:
- Eseguire l'aggiornamento a una versione più recente di .NET.
- Eseguire la migrazione delle tecnologie e della distribuzione in Azure.
- Modernizzare l'app .NET, in particolare durante l'aggiornamento da .NET Framework.
- Valutare il codice, la configurazione e le dipendenze dell'applicazione.
- Pianificare e configurare la risorsa Azure corretta.
- Risolvere i problemi e applicare le procedure consigliate per la migrazione cloud.
- Verificare che l'app venga compilata e verificata correttamente.
Scenari
L'agente fornisce più flussi di lavoro di modernizzazione end-to-end denominati scenari. Ogni scenario è un flusso di lavoro gestito che guida l'utente attraverso un tipo specifico di aggiornamento o migrazione:
| Scenario | Descrizione | Richiesta di esempio |
|---|---|---|
| Aggiornamento della versione di .NET | Aggiornamenti da versioni .NET precedenti a .NET 8, 9, 10 o versioni successive. | "Aggiornare la soluzione a .NET 10" |
| Conversione in stile SDK | Converte il formato di progetto legacy in stile SDK. | "Converti in stile SDK" |
| Migrazione di Newtonsoft.Json | Sostituisce Newtonsoft.Json con System.Text.Json. | "Eseguire la migrazione da Newtonsoft.Json" |
| Migrazione di SqlClient | Esegue la migrazione da System.Data.SqlClient a Microsoft. Data.SqlClient. | "Update SqlClient" |
| aggiornamento Funzioni di Azure | Aggiorna Funzioni di Azure dal modello di lavoro "in-process" a quello "isolato". | "Aggiorna le Funzioni di Azure" |
| Kernel semantico per gli agenti | Esegue la migrazione degli agenti di Kernel semantico all'intelligenza artificiale degli agenti Microsoft. | "Eseguire la migrazione degli agenti SK" |
Per un riferimento completo a tutti gli scenari e a 30 competenze di migrazione predefinite, vedere Scenari e informazioni di riferimento sulle competenze.
Inviare commenti
Microsoft valori il feedback e lo usa per migliorare l'agente. Lasciare commenti e suggerimenti usando una di queste opzioni:
In Visual Studio usare le opzioni Suggest a feature e Report a problem.
Inviare un problema nel repository @modernize-dotnet GitHub.
Prerequisiti
Configurare GitHub Copilot modernizzazione nell'ambiente di sviluppo prima di usare l'agente. Per i passaggi di installazione, vedere Installazione della modernizzazione di GitHub Copilot.
Aggiornare i progetti di .NET
L'agente di modernizzazione supporta l'aggiornamento di progetti C# e Visual Basic dei tipi seguenti:
- ASP.NET Core (e tecnologie correlate, ad esempio MVC, Razor Pages e API Web)
- Blazor
- Funzioni di Azure
- Windows Presentation Foundation (macchine virtuali Windows)
- Windows Forms
- WinUI
- .NET MAUI e Xamarin
- Librerie di classi
- Applicazioni console
- Progetti di test (MSTest, NUnit e xUnit)
Per avviare un aggiornamento, vedere Aggiornare un'app .NET tramite modernizzazione con GitHub Copilot.
Percorsi di aggiornamento supportati
L'agente supporta i percorsi di aggiornamento seguenti:
| origine | Destinazione |
|---|---|
| .NET Framework (qualsiasi versione) | .NET 8 o versioni successive |
| .NET Core 1.x–3.x | .NET 8 o versioni successive |
| .NET 5 o versioni successive | .NET 8 o versioni successive |
Eseguire la migrazione di progetti .NET a Azure
L'agente di modernizzazione semplifica Azure migrazioni tramite l'analisi automatizzata, la correzione del codice basata su intelligenza artificiale, i controlli di compilazione e vulnerabilità e l'automazione della distribuzione:
Analisi e raccomandazioni intelligenti.
Valuta l'idoneità della tua applicazione per la migrazione ad Azure e ricevi indicazioni personalizzate in base alle sue dipendenze e ai problemi identificati.
Correzione del codice basata su intelligenza artificiale.
Applicare modelli di codice di procedura consigliata predefiniti per accelerare la modernizzazione con un lavoro manuale minimo.
Compilazione automatica e risoluzione CVE.
Compilare l'app e risolvere gli errori di compilazione e le vulnerabilità, semplificando lo sviluppo.
Distribuzione senza interruzioni.
Eseguire la distribuzione in Azure, portando il codice dallo sviluppo alla produzione più velocemente.
Attività predefinite per la migrazione
La modernizzazione con GitHub Copilot per .NET offre attività predefinite che acquisiscano le procedure consigliate del settore e riguardano scenari di migrazione comuni.
Migrare a Database basati su identità gestita su Azure, inclusi Azure SQL DB, Azure SQL MI e Azure PostgreSQL
Modernizzare il livello dati eseguendo la migrazione da database locali o legacy (ad esempio DB2, Oracle DB o SQL Server) a database Azure SQL, Istanza gestita di SQL di Azure o Azure PostgreSQL. Usare l'autenticazione tramite identità gestita sicura.
Migrare ad Archiviazione file di Azure
Spostare le operazioni di I/O dei file dal file system locale ad Azure File Storage per una gestione dei file scalabile basata sul cloud.
Migra su Archiviazione BLOB di Azure
Sostituire l'archiviazione di oggetti in sede, l'archiviazione di oggetti tra cloud o l'I/O dei file del file system locale con Archiviazione BLOB di Azure per i dati non strutturati.
Migrate a Microsoft Entra ID
Eseguire la transizione dell'autenticazione e dell'autorizzazione da Windows Active Directory a Microsoft Entra ID (in precedenza Azure AD) per la gestione moderna delle identità.
Migrare verso credenziali protette usando Managed Identity e Azure Key Vault
Sostituire le credenziali in testo non crittografato nella configurazione o nel codice con identità sicure, gestite e Azure Key Vault per la gestione dei segreti.
Migrare ad bus di servizio di Azure
Passare da code di messaggi legacy o di terze parti (ad esempio MSMQ o RabbitMQ) o Amazon SQS (AWS Simple Queue Service) a bus di servizio di Azure per la messaggistica affidabile basata sul cloud.
Migrate per Azure messaggio di posta elettronica del servizio di comunicazione
Sostituire l'invio diretto della posta elettronica SMTP con Azure Servizio di comunicazione per il recapito di posta elettronica scalabile e sicuro.
Migrare a Confluent Cloud/Azure Event Hub per Apache Kafka
Transizione da Kafka locale o locale allo streaming di eventi gestiti con Confluent Cloud o Hub eventi di Azure.
Migrare a OpenTelemetry su Azure
Eseguire la transizione da framework di registrazione locali, ad esempio log4net, Serilog e registro eventi di Windows a OpenTelemetry su Azure.
Migra a cache di Azure per Redis usando l'identità gestita
Sostituire le implementazioni della cache Redis in memoria o locale con cache di Azure per Redis per la disponibilità elevata, la scalabilità e la sicurezza di livello aziendale.
Come funziona
Per avviare un processo di aggiornamento o migrazione, vedere:
Aprire il progetto o la soluzione .NET nell'ambiente di sviluppo.
Avviare l'agente usando uno di questi metodi:
-
Visual Studio: fare clic con il pulsante destro del mouse sulla soluzione o sul progetto in Esplora soluzioni e selezionare Modernize. In alternativa, aprire la finestra GitHub Copilot Chat e digitare
@Modernize. -
Visual Studio Code: aprire il pannello GitHub Copilot Chat e digitare
@modernize-dotnet. -
GitHub Copilot cli: digitare
@modernize-dotnetseguito dalla richiesta di aggiornamento o migrazione. -
GitHub.com: usare l'agente di codifica
modernize-dotnetnel repository.
-
Visual Studio: fare clic con il pulsante destro del mouse sulla soluzione o sul progetto in Esplora soluzioni e selezionare Modernize. In alternativa, aprire la finestra GitHub Copilot Chat e digitare
Indicare all'agente cosa aggiornare o eseguire la migrazione.
Quando si chiede all'agente di modernizzazione di aggiornare l'app, Copilot prima chiede di creare un nuovo ramo se si lavora in un repository Git. Quindi Copilot valuta il progetto ed esegue un flusso di lavoro in tre fasi. Ogni fase produce file Markdown sotto .github/upgrades/{scenarioId} nel tuo repository, così puoi esaminare ciò che viene dopo prima di continuare. Se .github/upgrades/{scenarioId} esiste già da un tentativo precedente, Copilot chiede se continuare o iniziare da capo.
Copilot inizia esaminando la struttura del progetto, le dipendenze e i modelli di codice per creare una valutazione completa. Il assessment.md file elenca le modifiche di rilievo, i problemi di compatibilità delle API, i modelli deprecati e l'ambito di aggiornamento.
Dopo la valutazione, Copilot esegue le tre fasi seguenti:
Assessment: Copilot esamina la struttura del progetto, le dipendenze e i modelli di codice, quindi presenta decisioni di strategia per la revisione, ad esempio la strategia di aggiornamento (dal basso verso il basso, dall'alto verso il basso o all-in-once), l'approccio alla migrazione del progetto, le opzioni di modernizzazione della tecnologia e la gestione della compatibilità. Copilot salva le decisioni confermate in
upgrade-options.md.Planning: Copilot converte la valutazione e le opzioni confermate in una specifica dettagliata. Il
plan.mdfile documenta strategie di aggiornamento, approcci di refactoring, percorsi di dipendenza e mitigazioni dei rischi.Execution: Copilot suddivide il piano in attività sequenziali concrete con criteri di convalida in
tasks.md. Ogni attività descrive una singola modifica e come Copilot conferma l'esito positivo.
Modificare uno dei file Markdown in .github/upgrades/{scenarioId} per modificare i passaggi di aggiornamento o aggiungere contesto prima di procedere.
Strategie di aggiornamento
Durante la fase di valutazione, l'agente valuta la soluzione e consiglia una di queste strategie:
| Strategia | Ideale per | Descrizione |
|---|---|---|
| Dal basso verso l'alto | Soluzioni di grandi dimensioni con grafici di dipendenza profondi | Aggiorna prima i progetti foglia, quindi procede verso l'alto. |
| Dall'alto verso il basso | Feedback rapido sull'applicazione principale | Aggiorna prima il progetto dell'applicazione, quindi corregge le dipendenze. |
| All-at-once | Soluzioni piccole e semplici | Aggiorna tutti i progetti in un unico passaggio. |
Modalità di flusso
L'agente supporta due modalità di flusso che regolano quanto si ferma per il tuo input.
- Automatico: L'agente funziona in tutte le fasi senza interruzioni, fermandosi solo davanti a blocchi effettivi. Ideale per utenti esperti e aggiornamenti semplici.
- Guidato: L'agente si ferma a ciascun confine di fase in modo da poter esaminare la valutazione, il piano e le attività prima di procedere. Ideale per gli utenti che lo usano per la prima volta e per soluzioni complesse.
Passare da una modalità all'altra in qualsiasi momento pronunciando "pausa" (per entrare in modalità guidata) o "continua" (per entrare in modalità automatica).
Gestione dello stato
L'agente archivia tutti gli stati di aggiornamento in .github/upgrades/{scenarioId}/. La cartella contiene:
| File | Scopo |
|---|---|
assessment.md |
Analisi della soluzione |
upgrade-options.md |
Decisioni di aggiornamento confermate |
plan.md |
Piano attività ordinato |
tasks.md |
Dashboard dei progressi in tempo reale |
scenario-instructions.md |
Memoria persistente dell'agente, incluse preferenze, decisioni e istruzioni personalizzate |
execution-log.md |
Tracciamento dettagliato di tutte le modifiche |
tasks/{taskId}/task.md |
Ambito e contesto di attività singola |
tasks/{taskId}/progress-details.md |
Note e risultati dell'esecuzione per singola attività |
Poiché tutti gli stati si trovano in questa cartella, è possibile chiudere l'IDE, passare da una sessione all'altra o anche passare da un ambiente di sviluppo all'altro( ad esempio, iniziare in VS Code e continuare in Visual Studio). L'agente riprende da dove si era interrotto.
Suggerimento
Effettua il commit della cartella .github/upgrades/ nel tuo ramo. Lo stato confermato funge da backup e consente ai membri del team di visualizzare il progresso dell'aggiornamento.
Eseguire l'aggiornamento.
Al termine di ogni fase, esaminare e modificare i file generati in base alle esigenze e quindi indicare Copilot di continuare con la fase successiva.
Quando si raggiunge la fase Execution, indicare Copilot di avviare l'aggiornamento. Se Copilot si verifica un problema, tenta di identificare la causa e di applicare una correzione. Se Copilot non riesce a risolvere il problema, chiede aiuto. Quando si interviene, Copilot apprende dalle modifiche apportate e tenta di applicarle automaticamente se il problema si ripresenta.
Risultati dell'aggiornamento
Quando Copilot esegue ogni attività, aggiorna il file tasks.md in .github/upgrades/{scenarioId} con lo stato di ogni passaggio. Monitorare lo stato di avanzamento esaminando questo file. Copilot crea un commit Git per ogni parte del processo, in modo da poter eseguire il rollback delle modifiche o esaminare le modifiche apportate.
Al termine dell'aggiornamento, Copilot visualizza i passaggi successivi nella risposta della chat.
Telemetria
Lo strumento raccoglie i dati sui tipi di progetto, sulla finalità di aggiornare e sulla durata dell'aggiornamento. L'ambiente di sviluppo raccoglie e aggrega i dati e non contiene informazioni identificabili dall'utente. Per altre informazioni sull'informativa sulla privacy di Microsoft, vedere Visual Studio Customer Experience Improvement Program.
Contenuti correlati
- Installare l'aggiornamento di GitHub Copilot
- Upgrade un'applicazione .NET tramite la modernizzazione con GitHub Copilot
- Concetti fondamentali
- Scenari e informazioni di riferimento sulle competenze
- Procedure consigliate
- Risoluzione dei problemi della modernizzazione di GitHub Copilot
- Quickstart: Eseguire la migrazione di un progetto di .NET
- Domande frequenti sulla modernizzazione di GitHub Copilot