> ## Content Index
> Fetch the complete content index at: https://www.azurebrasil.cloud/llms.txt
> Use this file to discover other available public pages before exploring further.

# GitHub Copilot Modernization Agent: Como Modernizar Aplicações .NET Legacy Sem Perder a Sanidade
- URL: https://www.azurebrasil.cloud/blog/github-copilot-modernization-agent-como-modernizar-aplicacoes-net-legacy-sem-perder-a-sanidade/
- Published: 2026-05-06T11:47:04.000Z
- Updated: 2026-05-06T11:47:04.000Z
- Author: Rafael dos Santos

Olá pessoALL,

Durante anos, quando falávamos em modernizar aplicações .NET Framework, a conversa quase sempre terminava no mesmo lugar: "a gente sabe que precisa, mas agora não dá." E olha, eu entendo. Modernização é daqueles projetos que todo mundo sabe que é importante, mas que vive sendo empurrado pra próxima sprint, pro próximo trimestre, pro próximo ano.

Você provavelmente conhece o cenário. A empresa tem 8, 10, 15 aplicações rodando em .NET Framework 4.x. Algumas são de 2015\. Outras, ninguém lembra quem escreveu. Todas são críticas pro negócio. E o time que cuida disso? O mesmo time que apaga incêndio em produção, mantém features novas e ainda precisa "modernizar o legado" nos intervalos.

No [meu artigo anterior sobre o GitHub Copilot Coding Agent](https://www.azurebrasil.cloud/blog/github-copilot-coding-agent-como-a-ia-autonoma-esta-transformando-a-produtividade-de-times-de-desenvolvimento/), falei sobre como agentes autônomos estão mudando a equação de produtividade dos times de desenvolvimento. Hoje quero mergulhar num caso de uso específico que me chamou muita atenção: usar o **GitHub Copilot** pra modernizar aplicações .NET de verdade.

## O Problema que Ninguém Quer Encarar

Já perdi a conta de quantos projetos de modernização vi morrer na fase de assessment. O padrão é sempre parecido: alguém cria uma task force, o time técnico passa semanas mapeando dependências, analisando breaking changes entre .NET Framework e .NET 8/9/10, catalogando pacotes NuGet obsoletos, identificando APIs removidas. No final, sai um documento de 50 páginas.

Sabe o que acontece com esse documento? Morre num SharePoint. Ou num Confluence. Ou numa wiki que ninguém abre.

Não é por falta de competência. É por falta de fôlego. Quando você termina o assessment da primeira aplicação, já perdeu a energia (e o budget) pra atacar as outras nove. O time volta pra rotina, as apps legadas continuam rodando, e o ciclo se repete no ano seguinte.

E mesmo quando o assessment sobrevive, a execução é outro bicho. Atualizar de .NET Framework pra .NET 8 ou 10 não é só trocar o target framework no `.csproj`. São breaking changes em APIs do System.Web, pacotes que não existem mais, dependências de terceiros que nunca foram portadas, configurações de `web.config` que precisam virar `appsettings.json`. O volume de trabalho manual é enorme.

A resposta pra esse problema não é contratar mais gente. É mudar a abordagem.

## GitHub Copilot Modernization Agent Entra na Conversa

A Microsoft e o GitHub lançaram recentemente o **GitHub Copilot modernization agent**, um workflow especializado que ajuda times a fazer upgrade de projetos .NET e migrá-los para o Azure. Funciona no Visual Studio, VS Code, GitHub CLI e diretamente no GitHub.com.

Antes de continuar: isso **não** é o mesmo que o Copilot Coding Agent que descrevi no artigo anterior. Aquele é um agente genérico que recebe issues e produz código. Este aqui é um workflow focado especificamente em modernização, com etapas estruturadas e aprovações humanas em cada passo.

E essa diferença de abordagem é o que me chamou atenção. Diferente de uma ferramenta que simplesmente "tenta converter" seu projeto e te entrega um monte de erros de compilação pra resolver, o Copilot modernization funciona em três passos controlados. Cada passo exige que um humano revise e aprove antes de seguir adiante.

Isso muda tudo? Não. **Mas** muda o ponto onde o esforço humano é investido. Ao invés de gastar semanas fazendo assessment manual, você gasta minutos revisando o assessment que o agente produziu.

## O Workflow: Assessment → Planning → Execution

Vou detalhar cada etapa porque é no fluxo que está o valor real dessa ferramenta.

### Passo 1 — Assessment (O Raio-X da Aplicação)

O agente começa examinando a estrutura do seu projeto: dependências, padrões de código, arquivos de configuração, pacotes NuGet. Com base nessa análise, ele gera um arquivo `dotnet-upgrade-plan.md` dentro da pasta `.github/upgrades` do seu repositório.

Esse arquivo é o assessment. Concreto, versionado no Git, e revisável pelo time inteiro. Não é um PDF perdido num drive compartilhado. É um Markdown que vive no repositório, junto do código.

Você escolhe a versão de destino (.NET 8, 9 ou 10) e o agente adapta o plano de acordo. Se sua organização padronizou .NET 8 LTS, é isso que ele usa. Se quer ir direto pro .NET 10, também funciona.

Aqui já tem um ganho concreto: o trabalho que levaria dias ou semanas para um time fazer manualmente sai em minutos. E como o resultado é um arquivo Markdown no repositório, qualquer pessoa do time pode revisar, comentar e sugerir ajustes via pull request.

### Passo 2 — Planning (O Plano de Ataque)

Depois que você aprova o assessment — e você **sempre** precisa aprovar antes de seguir — o agente avança pro planejamento detalhado. Aqui ele documenta a estratégia de upgrade: abordagens de refactoring, caminhos de atualização de dependências, e mitigações de risco.

O output é outro documento Markdown. Você lê, edita se quiser, e aprova quando estiver satisfeito.

Até este ponto, **nenhuma linha de código do seu projeto foi alterada**. O agente investiu todo o esforço em entender e planejar. Você está no controle total.

Confesso que essa abordagem em etapas me ganhou. Já vi ferramentas de migração automática que saem alterando código sem pedir licença e te entregam 300 erros de compilação pra resolver. Aqui, se o plano não faz sentido, você simplesmente não aprova. Volta, ajusta as instruções, e pede pro agente replanejar.

### Passo 3 — Execution (Mãos à Obra)

Com o plano aprovado, o agente entra em modo de execução. Ele quebra o plano em tarefas discretas, cada uma com critérios de validação, e começa a fazer as alterações no código.

Cada porção do trabalho gera um commit no Git. Se algo der errado, você sabe exatamente o que mudou e pode fazer rollback cirúrgico. Se o agente encontra um problema durante a execução, ele tenta identificar a causa e aplicar uma correção. O status de cada tarefa é atualizado conforme avança.

**Mas** vamos ser honestos: o agente performa melhor em projetos que já têm boa cobertura de testes e um pipeline de CI/CD funcionando. Se seu projeto legado não tem testes (e muitos não têm), o agente ainda ajuda no assessment e no planejamento, mas a fase de execução vai precisar de mais supervisão humana. Isso não é limitação do agente. É a realidade de modernizar código sem rede de segurança.

## Não Para no .NET — Migração para Azure

Aqui é onde a coisa fica interessante pra quem trabalha com Azure (e se você está lendo este blog, provavelmente trabalha).

O Copilot modernization não se limita a atualizar a versão do .NET. Ele também ajuda a avaliar cloud readiness, recomendar recursos Azure, aplicar boas práticas de migração e preparar o deployment no Azure.

As perguntas que o agente ajuda a responder são exatamente as que ouvimos de clientes aqui na AzureBrasil.cloud: Onde essa aplicação deveria rodar? Que serviços Azure fazem sentido? O que pode migrar agora e o que precisa ficar como está por enquanto?

Os paths de migração que o agente suporta incluem: **Managed Identity**, **Azure SQL**, **Blob Storage**, **Azure File Storage**, **Microsoft Entra ID**, **Azure Key Vault**, **Azure Service Bus**, **Azure Cache for Redis** e **OpenTelemetry no Azure**.

**Mas** perceba o que está acontecendo aqui: não é só trocar a versão do framework e torcer pra compilar. É pegar uma aplicação que roda on-premises em IIS e prepará-la pra rodar como um **App Service** com identidade gerenciada, banco gerenciado, secrets no Key Vault e observabilidade moderna. Isso é modernização de verdade.

## O Humano Continua no Centro

Se tem uma coisa que aprendi em quase 20 anos fazendo migração e modernização de sistemas, é que as decisões difíceis não são técnicas. São de negócio. Qual aplicação migrar primeiro? Qual risco a empresa aceita durante a transição? Qual é o impacto no time que opera esse sistema hoje?

Nenhum agente vai tomar essas decisões por você. E nem deveria.

O que o Copilot modernization faz é tirar do caminho o trabalho braçal que consome semanas e não requer julgamento humano: inventariar dependências, mapear breaking changes, gerar o plano de upgrade, fazer as alterações mecânicas no código. Isso libera o time pra focar nas decisões que realmente importam — aquelas que dependem de contexto de negócio, de prioridades da empresa e de experiência acumulada.

Na prática, é como ter alguém no time que nunca reclama de fazer assessment, que documenta tudo direitinho, e que está disposto a fazer as refatorações repetitivas enquanto o time sênior foca na arquitetura.

## Por Onde Começar

Pegue **uma** aplicação. Não a mais crítica, não a mais complexa. Escolha uma que seja representativa do seu portfólio, rode o assessment, e revise o plano que o agente gera. Veja se faz sentido. Discuta com o time. Provavelmente vai ter coisas que você discorda ou quer ajustar — e tudo bem, é pra isso que a etapa de aprovação existe.

Quando estiver confortável com o processo, avance pra execução. Depois, repita com a próxima aplicação.

Modernização em escala acontece repo por repo, decisão por decisão. O agente não elimina esse trabalho — ele acelera cada iteração.

O Copilot modernization funciona no **Visual Studio**, **VS Code**, **GitHub Copilot CLI** e no **GitHub.com**.

## Conclusão

Lembra daquelas 10, 15 aplicações .NET Framework que sua empresa sabe que precisa modernizar? Elas não precisam mais esperar. O assessment que levaria semanas sai em minutos. O planejamento que morreria num documento perdido agora vive no repositório, versionado e revisável. E a execução que ninguém tinha tempo de fazer tem um agente pronto pra ajudar.

Repo por repo. Decisão por decisão. Com humanos onde humanos fazem diferença e automação onde automação faz sentido.

**Quer começar a usar o GitHub Copilot na sua empresa — seja pra modernização, desenvolvimento ou produtividade do time?** Nós da **AzureBrasil.cloud** somos Microsoft Solutions Partner e ajudamos empresas a adotar o GitHub Copilot de forma estruturada, segura e alinhada com as necessidades do negócio. [Entre em contato conosco](https://azurebrasil.cloud/?ref=azurebrasil.cloud) pra conversar sobre como podemos ajudar.

\[\]s e até a próxima

## Referências

### Documentação Oficial

- [GitHub Copilot app modernization overview](https://learn.microsoft.com/en-us/dotnet/core/porting/github-copilot-app-modernization/overview?WT.mc%5Fid=AZ-MVP-5000671&ref=azurebrasil.cloud) — Visão geral do workflow de modernização com Copilot

### Artigos Relacionados

- [What AI Agents for Modernization Look Like in Practice](https://techcommunity.microsoft.com/blog/appsonazureblog/what-ai-agents-for-modernization-look-like-in-practice/4506366?ref=azurebrasil.cloud) — Artigo original da Microsoft Tech Community que inspirou este post
- [GitHub Copilot Coding Agent: Como a IA Autônoma Está Transformando a Produtividade de Times de Desenvolvimento](https://www.azurebrasil.cloud/blog/github-copilot-coding-agent-como-a-ia-autonoma-esta-transformando-a-produtividade-de-times-de-desenvolvimento/) — Nosso artigo sobre o Copilot Coding Agent e agentes autônomos

### Migração .NET

- [Porting from .NET Framework to .NET](https://learn.microsoft.com/en-us/dotnet/core/porting/?WT.mc%5Fid=AZ-MVP-5000671&ref=azurebrasil.cloud) — Guia oficial de migração de .NET Framework para .NET moderno
- [.NET Upgrade Assistant](https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview?WT.mc%5Fid=AZ-MVP-5000671&ref=azurebrasil.cloud) — Ferramenta complementar para upgrade de projetos .NET