Partilhar via


O que é a modernização do GitHub Copilot?

A modernização do GitHub Copilot é um agente do GitHub Copilot que o ajuda a atualizar projetos para versões mais recentes de .NET e a migrar aplicações .NET para o Azure de forma rápida e confiante. Orienta-o na avaliação, recomendações de soluções, correções de código e validação entre Visual Studio, Visual Studio Code, GitHub Copilot CLI e GitHub.com.

Use este agente para:

  • Atualizar para uma versão mais recente do .NET.
  • Migrar tecnologias e implementar para o Azure.
  • Modernize a sua aplicação .NET, especialmente ao atualizar do .NET Framework.
  • Avalie o código, a configuração e as dependências do seu aplicativo.
  • Planeie e configure o recurso Azure certo.
  • Corrija problemas e aplique as práticas recomendadas para a migração para a nuvem.
  • Valide se seu aplicativo é compilado e testado com êxito.

Cenários

O agente fornece múltiplos fluxos de trabalho de modernização de ponta a ponta chamados cenários. Cada cenário é um fluxo de trabalho gerido que o guia através de um tipo específico de atualização ou migração:

Scenario Descrição Exemplo de prompt
.NET atualização de versão Atualizações de versões antigas do .NET para .NET 8, 9, 10 ou posteriores. "Atualizar a minha solução para .NET 10"
Conversão ao estilo SDK Converte o formato de projeto legado para o estilo SDK. "Converter para o estilo SDK"
Migração Newtonsoft.Json Substitui Newtonsoft.Json por System.Text.Json. "Migrar de Newtonsoft.Json"
Migração do SqlClient Migra do System.Data.SqlClient para a Microsoft. Data.SqlClient. "Atualizar SqlClient"
Atualização do Funções do Azure Atualiza o Funções do Azure do modelo em-processo para o modelo de trabalhador isolado. "Atualizar o meu Funções do Azure"
Kernel Semântico para Agentes Migra Kernel Semântico Agents para Microsoft Agents AI. "Migra os meus agentes da SK"

Para uma referência completa de todos os cenários e mais de 30 competências de migração nativas, consulte a referência de cenários e competências.

Fornecer comentários

A Microsoft valoriza o teu feedback e usa-o para melhorar o agente. Deixe feedback usando qualquer uma destas opções:

Pré-requisitos

Configura a modernização do GitHub Copilot no teu ambiente de desenvolvimento antes de usares o agente. Para as instruções de instalação, veja modernização do GitHub Copilot.

Projetos de atualização .NET

O agente de modernização suporta a atualização de projetos em C# e Visual Basic dos seguintes tipos:

  • ASP.NET Core (e tecnologias relacionadas como MVC, Razor Pages e Web API)
  • Blazor
  • Funções do Azure
  • Windows Presentation Foundation (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI e Xamarin
  • Bibliotecas de classes
  • Aplicações de consola
  • Projetos de teste (MSTest, NUnit e xUnit)

Para iniciar uma atualização, consulte Modernize uma aplicação .NET com a ajuda do GitHub Copilot.

Caminhos de atualização suportados

O agente suporta os seguintes caminhos de atualização:

Fonte Target
Framework .NET (qualquer versão) .NET 8 ou posterior
.NET Core 1.x–3.x .NET 8 ou posterior
.NET 5 ou posterior .NET 8 ou posterior

Migrar projetos .NET para Azure

O agente de modernização simplifica as migrações do Azure através de análise automatizada, remediação de código impulsionada por IA, verificações de compilação e vulnerabilidades, e automação de implementação:

  • Análise e recomendações inteligentes.

    Avalie a prontidão da sua aplicação para a migração do Azure e receba orientação personalizada com base nas suas dependências e problemas identificados.

  • Remediação de código alimentada por IA.

    Aplique padrões de código de práticas recomendadas predefinidos para acelerar a modernização com o mínimo de esforço manual.

  • Construção automática e resolução CVE.

    Construa a sua aplicação e resolva erros e vulnerabilidades de compilação, simplificando o desenvolvimento.

  • Implementação sem falhas.

    Implementa no Azure, levando o teu código do desenvolvimento para a produção mais rapidamente.

Tarefas predefinidas para migração

A modernização do GitHub Copilot para .NET oferece tarefas pré-definidas que capturam as melhores práticas do setor e cobrem cenários comuns de migração.

  • Migrar para uma base de dados baseada em Identidade Gerida no Azure, incluindo SQL do Azure DB, SQL do Azure MI e Azure PostgreSQL

    Modernize a sua camada de dados migrando de bases de dados on-premises ou legadas (como DB2, Oracle DB ou SQL Server) para SQL do Azure DB, Azure SQL Managed Instance ou Azure PostgreSQL. Use autenticação segura de identidade gerida.

  • Migrar para Azure Armazenamento de Ficheiros

    Transferir as operações de I/O de ficheiros do sistema de ficheiros local para o Azure File Storage para uma gestão de ficheiros escalável baseada na cloud.

  • Migrar para Armazenamento de Blobs do Azure

    Substitua o armazenamento de objetos on-premises ou cross-cloud, ou a I/O local de ficheiros do sistema de ficheiros, pelo Armazenamento de Blobs do Azure para dados não estruturados.

  • Migrar para Microsoft Entra ID

    Transição da autenticação e autorização de Windows Active Directory para Microsoft Entra ID (anteriormente Azure AD) para a gestão moderna de identidades.

  • Migre para credenciais seguras usando Identidade Gerida e Azure Key Vault

    Substitua as credenciais em texto simples na configuração ou código por identidades seguras e geridas e o Azure Key Vault para gestão de segredos.

  • Migrar para Azure Service Bus

    Passe de filas de mensagens legadas ou de terceiros (como MSMQ ou RabbitMQ) ou Amazon SQS (AWS Simple Queue Service) para o Azure Service Bus para mensagens fiáveis e baseadas na cloud.

  • Migrar para o Serviço de Comunicação do Azure por e-mail

    Substitua o envio direto de emails SMTP pelo Azure Communication Service para uma entrega de email escalável e segura.

  • Migrar para Confluent Cloud/Azure Event Hub para Apache Kafka

    Transição do Kafka local ou on-premises para streaming de eventos gerido com Confluent Cloud ou Hubs de Eventos do Azure.

  • Migrar para OpenTelemetry em Azure

    Transição de frameworks de registo local como log4net, Serilog e registo de eventos do Windows para o OpenTelemetry no Azure.

  • Migre para Cache do Azure para Redis usando Identidade Gerida

    Substituir implementações de cache Redis em memória ou local por Cache do Azure para Redis para alta disponibilidade, escalabilidade e segurança de nível empresarial.

Como funciona

Para iniciar um processo de atualização ou migração, veja:

  1. Abra o seu projeto ou solução .NET no seu ambiente de desenvolvimento.

  2. Inicie o agente usando um destes métodos:

    • Visual Studio: Clique com o botão direito na solução ou projeto em Explorador de Soluções e selecione Modernizar. Ou, abre a janela GitHub Copilot Chat e escreve @Modernize.
    • Visual Studio Code: Abra o painel GitHub Copilot Chat e escreva @modernize-dotnet.
    • GitHub Copilot CLI: Digite @modernize-dotnet seguido do seu pedido de atualização ou migração.
    • GitHub.com: Use o agente de codificação modernize-dotnet no seu repositório.
  3. Diz ao agente o que deve atualizar ou migrar.

Quando pede ao agente de modernização para atualizar a sua aplicação, o Copilot primeiro solicita que crie um novo branch se estiver a trabalhar num repositório Git. Depois, o Copilot avalia o seu projeto e executa um fluxo de trabalho em três fases. Cada fase produz ficheiros Markdown no .github/upgrades/{scenarioId} teu repositório para que possas rever o que vem a seguir antes de continuares. Se .github/upgrades/{scenarioId} já existir de uma tentativa anterior, Copilot pergunta se deve continuar ou começar do zero.

O Copilot começa por examinar a estrutura do seu projeto, dependências e padrões de código para construir uma avaliação abrangente. O ficheiro assessment.md lista alterações disruptivas, problemas de compatibilidade de API, padrões obsoletos e o âmbito da atualização.

Após a avaliação, o Copilot executa as seguintes três fases:

  1. Assessment: Copilot examina a estrutura do projeto, dependências e padrões de código, apresentando depois decisões estratégicas para análise, como a estratégia de atualização (bottom-up, top-down ou tudo ao mesmo tempo), abordagem de migração de projetos, opções de modernização tecnológica e gestão da compatibilidade. Copilot guarda as decisões confirmadas para upgrade-options.md.

  2. Planeamento: Copilot converte a avaliação e as suas opções confirmadas numa especificação detalhada. O ficheiro plan.md documenta estratégias de atualização, abordagens de refatoração, caminhos de dependência e mitigações de risco.

  3. Execution: Copilot divide o plano em tarefas sequenciais e concretas com critérios de validação em tasks.md. Cada tarefa descreve uma única alteração e como o Copilot confirma que foi bem-sucedida.

Edita qualquer um dos ficheiros .github/upgrades/{scenarioId} Markdown para ajustar os passos de atualização ou adicionar contexto antes de avançares.

Estratégias de melhoria

Durante a fase de avaliação, o agente avalia a sua solução e recomenda uma destas estratégias:

Estratégia Melhor para Descrição
De baixo para cima Soluções grandes com grafos de dependência profundos Melhora primeiro os projetos da folha, depois avança para cima.
De cima para baixo Feedback rápido sobre a aplicação principal Atualiza primeiro o projeto da aplicação e depois corrige dependências.
Tudo de uma vez Soluções pequenas e simples Atualiza todos os projetos numa só passagem.

Modos de fluxo

O agente suporta dois modos de fluxo que controlam o quanto ele faz pausas para a sua entrada.

  • Automático: O agente passa por todas as fases sem pausas, parando apenas em bloqueadores genuínos. É ideal para utilizadores experientes e atualizações simples.
  • Guiado: O agente faz uma pausa em cada limite de etapa para que possa rever a avaliação, o plano e as tarefas antes de prosseguir. Ideal para utilizadores iniciantes e soluções complexas.

Alterne entre modos a qualquer momento dizendo "pausa" (para entrar no modo guiado) ou "continuar" (para entrar no modo automático).

Gestão do Estado

O agente armazena todos os estados de atualização em .github/upgrades/{scenarioId}/. A pasta contém:

Ficheiro Purpose
assessment.md Análise da sua solução
upgrade-options.md Decisões confirmadas de atualização
plan.md Plano de tarefas ordenado
tasks.md Painel de progresso em tempo real
scenario-instructions.md Memória persistente do agente, incluindo preferências, decisões e instruções personalizadas
execution-log.md Registo detalhado de auditoria de todas as alterações
tasks/{taskId}/task.md Âmbito e contexto por tarefa
tasks/{taskId}/progress-details.md Notas e resultados de execução por tarefa

Como todos os estados estão nesta pasta, podes fechar o teu IDE, alternar entre sessões ou até alternar entre ambientes de desenvolvimento (por exemplo, começar no VS Code e continuar no Visual Studio). O agente retoma de onde parou.

Sugestão

Adiciona a .github/upgrades/ pasta à tua ramificação. O estado comprometido serve como backup e permite aos membros da equipa ver o progresso da atualização.

Executar a atualização

Depois de cada fase terminar, reveja e modifique os ficheiros gerados conforme necessário, e depois diga ao Copilot para continuar para a próxima fase.

Quando chegar à fase Execução, diz ao Copilot para começar a atualização. Se o Copilot tiver um problema, tenta identificar a causa e aplicar uma solução. Se o Copilot não conseguir corrigir o problema, pede a tua ajuda. Quando intervém, o Copilot aprende com as alterações que faz e tenta aplicá-las automaticamente caso o problema volte a surgir.

Resultados da atualização

À medida que Copilot executa cada tarefa, atualiza o ficheiro tasks.md em .github/upgrades/{scenarioId} com o estado de cada etapa. Monitorize o progresso ao rever este ficheiro. O Copilot cria um commit Git para cada parte do processo, para que possas reverter alterações ou rever o que mudou.

Quando a atualização termina, o Copilot mostra os próximos passos na resposta do chat.

Telemetria

A ferramenta recolhe dados sobre tipos de projetos, intenção de atualização e duração da atualização. O ambiente de desenvolvimento recolhe e agrega os dados e não contém qualquer informação identificável pelo utilizador. Para mais informações sobre a política de privacidade da Microsoft, consulte Visual Studio Programa de Melhoria da Experiência do Cliente.