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

A atualização do GitHub Copilot é um agente do GitHub Copilot que te ajuda a atualizar projetos para versões mais recentes do .NET de forma rápida e confiante. Orienta-o através da avaliação, recomendações de soluções, correções de código e validação em Visual Studio, Visual Studio Code, GitHub Copilot CLI e GitHub.com.

Use este agente para:

  • Atualize para uma versão mais recente do .NET.
  • Modernize seu aplicativo .NET, especialmente ao atualizar do .NET Framework.
  • Avalie o código, a configuração e as dependências do seu aplicativo.
  • Valide se seu aplicativo é compilado e testado com êxito.

Scenarios

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 Description 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"
Atualização do Newtonsoft.Json Substitui Newtonsoft.Json por System.Text.Json. "Atualização do Newtonsoft.Json"
Atualização do SqlClient Atualizações 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 Atualiza o Kernel Semântico Agents para o Microsoft Agent Framework. "Melhorar os meus agentes SK"
Integração com o Aspire Adiciona suporte a Aspire para inner-loop e implementação no Azure. "Adicionar Aspire à minha aplicação"
Aspire Atualização de versão Atualiza aplicações existentes Aspire para versões mais recentes. "Atualiza a minha Aspire versão"
Atualização de WebForms para Blazor Atualiza as aplicações ASP.NET Web Forms para Blazor. "Migrar a minha aplicação Web Forms para Blazor"

Para uma referência completa de todos os cenários e 30+ habilidades de melhoria incorporadas, veja Cenários e referências de habilidades.

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 atualização do GitHub Copilot no teu ambiente de desenvolvimento antes de usares o agente. Para os passos de instalação, consulte Instalar a atualização do GitHub Copilot.

Atualizar projetos .NET

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

  • ASP.NET Core (e tecnologias relacionadas como MVC, Razor Pages e Web API)
  • ASP.NET Web Forms
  • 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 Atualizar uma aplicação .NET com a atualização do GitHub Copilot.

Caminhos de atualização suportados

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

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

Migrar projetos .NET para Azure

Para migrar as suas aplicações .NET para o Azure, use o agente de modernização GitHub Copilot. O agente de modernização lida com cenários específicos do Azure, como migração de base de dados, armazenamento, identidade, mensagens e implementação.

Atualizações do monitor com o painel de instrumentos

O Painel de Atualização oferece uma vista visual de uma sessão de atualização no GitHub Copilot CLI e na aplicação GitHub Copilot. Use os seus painéis para acompanhar o progresso global, cenários, tarefas, projetos, dependências, resultados de avaliações, opções de atualização e atividade dos agentes.

Para abrir o painel, peça ao Copilot para o mostrar durante uma sessão de atualização. O dashboard não está atualmente disponível no Visual Studio, Visual Studio Code ou outros IDEs. Para detalhes sobre cada painel, consulte Atualizações do Monitor com o Painel de Atualização.

Como funciona

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

  1. 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. Alternativamente, abra a janela do GitHub Copilot Chat e escreva @Modernize.
    • Visual Studio Code: Abra o painel GitHub Copilot Chat e escreva @upgrade.
    • GitHub Copilot CLI: Digite @upgrade seguido do seu pedido de atualização ou migração.
    • GitHub aplicação Copilot: No seletor Agent, selecione Upgrade.
  2. Diz ao agente o que deve atualizar ou migrar.

Quando pede ao agente de atualização para atualizar a sua aplicação, o Copilot primeiro pede para criar 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, o Copilot pergunta se deve continuar ou recomeçar.

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. Avaliação: Copilot examina a estrutura do projeto, dependências e padrões de código, apresentando depois decisões estratégicas para revisão, como a estratégia de atualização (bottom-up, top-down ou tudo de uma vez), abordagem de atualização do projeto, opções de modernização tecnológica e gestão de 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:

Strategy Melhor para Description
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
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.

Telemetry

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 obter mais informações sobre a política de privacidade da Microsoft, consulte Programa de Aperfeiçoamento da Experiência do Usuário do Visual Studio.