Todos nós temos "aquele" projeto. Pode ser uma aplicao robusta em .NET Framework 4.x que ainda roda o negcio, ou talvez um dos primeiros projetos em .NET Core que nunca foi atualizado. A ideia de migrar assustadora. Envolve analisar dependncias, reescrever cdigo obsoleto, testar tudo de novo e, claro, o medo de quebrar o que est funcionando.
E se eu te dissesse que a IA agora pode atuar no apenas como um programador jnior, mas como um arquiteto assistente nesse processo?
A Microsoft integrou um novo "agente" especializado dentro do Visual Studio, focado exatamente nisso: a Modernizao de Aplicativo GitHub Copilot. Hoje, vamos mergulhar fundo em como essa ferramenta funciona, o que ela promete e como voc pode us-la para, finalmente, tirar seus projetos da "idade da pedra" do .NET.
O que , exatamente, esse "Agente de Modernizao"?
Primeiro, vamos alinhar as expectativas. Esta no a janelinha de chat do Copilot que completa seu cdigo. uma nova funcionalidade, um agente especializado, embutido diretamente no Visual Studio 2022 (a partir da verso 17.14.16) que tem duas misses principais:
Atualizar seus projetos para verses mais recentes do .NET (ex: do .NET 6 para o .NET 8).
Migrar suas aplicaes (especialmente as .NET Framework) para a nuvem, movendo-as para o Azure.
O que um "Agente"?
Pense no agente de modernizao como um "Engenheiro de Software Snior" especialista em migraes que senta ao seu lado. Voc no pede a ele para "escrever uma funo que soma dois nmeros". Voc diz a ele: "Quero migrar este projeto inteiro para o .NET 8". Ele ento avalia tudo, cria um plano, discute com voc e, quando voc aprova, comea a executar as tarefas chatas.
Para us-lo, voc precisa de alguns pr-requisitos (baseados na fonte):
Visual Studio 2022 (v17.14.16 ou mais recente) em Windows.
A carga de trabalho "Desenvolvimento de desktop em .NET".
Os componentes opcionais "GitHub Copilot" e "Modernizao do aplicativo GitHub Copilot para .NET" habilitados no instalador do Visual Studio.
Uma licena ativa do Copilot (Pro, Business ou Enterprise).
Seu cdigo precisa estar em C#.
Como Comear: O Prompt Mgico @modernize
Existem duas formas de invocar o agente, segundo a documentao da Microsoft:
O Clique com o Boto Direito: No "Gerenciador de Solues", clique com o boto direito no seu projeto ou soluo e selecione Modernizar.
O Chat (Onde a Mgica Acontece): Abra a janela de chat do GitHub Copilot e use a palavra-chave:
@modernize.
aqui que transformamos inteno em ao. Voc pode ser direto e especfico:
Exemplos de Prompts:
@modernize atualize este projeto para a verso mais recente do .NET.@modernize migre minha aplicao para usar o Azure App Service.@modernize avalie as dependncias deste projeto para a atualizao para o .NET 8.@modernize migre minhas cadeias de conexo do SQL Server para usar o Azure Key Vault e Identidade Gerenciada.
O Processo: Um Plano em Markdown e "Checkpoints" de Git
Esta a parte que, como desenvolvedor, eu achei mais genial. O Copilot no sai simplesmente alterando seu cdigo em um "caixa preta". Ele segue um processo transparente:
Anlise e Perguntas: Aps seu prompt, o agente analisa seu cdigo, suas dependncias e arquivos de configurao. Ele pode fazer perguntas de volta para voc para esclarecer a inteno.
Gerao do Plano: O Copilot gera um arquivo Markdown com o plano de modernizao completo. Ele detalha as etapas que sero executadas.
Voc Est no Controle: O mais importante: voc pode e deve editar esse arquivo Markdown. Se voc no concorda com uma etapa ou quer adicionar um contexto, voc ajusta o plano.
Execuo: Voc d o "OK" e o Copilot comea a executar o plano, passo a passo. Voc acompanha o progresso em uma janela de "Detalhes do Progresso da Atualizao".
Commits como Checkpoints
A fonte oficial destaca que cada etapa principal do plano confirmada em um commit no seu repositrio Git local.
Pense nisso como "checkpoints" automticos em um videogame difcil. Se o Copilot tentar uma refatorao grande (como trocar uma biblioteca inteira) e algo der terrivelmente errado, voc no perdeu seu projeto. Voc pode simplesmente reverter aquele commit especfico (voltar ao ltimo "checkpoint") e reavaliar o plano, sem quebrar todo o seu cdigo.
Cenrio 1: Atualizando seu .NET (Do antigo para o novo)
O agente d suporte atualizao de vrios tipos de projeto, incluindo:
ASP.NET Core (MVC, API, Razor Pages)
Blazor
Azure Functions
WPF (Windows Presentation Foundation) e Windows Forms
Bibliotecas de Classes e Apps de Console
Sejamos honestos: a parte mais difcil sair do antigo .NET Framework. A Microsoft avisa que a atualizao direta de projetos .NET Framework (como ASP.NET clssico ou WinForms em Framework) ainda est em verso prvia.
No entanto, para atualizar entre verses do .NET Core/5+, o Copilot brilha ao corrigir problemas de compilao e aplicar novas prticas recomendadas.
Exemplo de Cdigo: O que o Copilot pode corrigir
Imagine que, ao migrar do .NET Core 3.1 para o .NET 8, o Copilot identifica que voc ainda usa Newtonsoft.Json onde o System.Text.Json (nativo) seria mais performtico.
// CDIGO ANTIGO (Detectado pelo Copilot)// using Newtonsoft.Json;// string json = JsonConvert.SerializeObject(myObject);// CDIGO NOVO (Sugerido e aplicado pelo Copilot)// O agente pode sugerir a refatorao para a biblioteca nativausing System.Text.Json;string json = JsonSerializer.Serialize(myObject);
Cenrio 2: A Migrao para o Azure (A Lista de Superpoderes)
Para mim, a funcionalidade mais impressionante a lista de "Tarefas Predefinidas" para migrao para o Azure. O agente no apenas move seu cdigo, ele moderniza sua arquitetura para a nuvem.
Ele pode, por exemplo:
Migrar de Senhas para Identidade Gerenciada: Cansado de ter senhas de banco de dados no seu
appsettings.json? A ferramenta pode refatorar seu cdigo para usar o Azure Key Vault e a Identidade Gerenciada.Migrar de Filas Locais para a Nuvem: Se seu app usa MSMQ ou RabbitMQ, o agente pode planejar a migrao para o Barramento de Servio do Azure.
Modernizar o Armazenamento: Substituir cdigo que usa
System.IO(arquivos locais) para usar o Azure Blob Storage ou Azure File Storage.Modernizar a Autenticao: Ajudar na transio do Windows Active Directory (AD) para o Microsoft Entra ID (antigo Azure AD).
Modernizar o Logging: Migrar de padres antigos (como log4net ou log de eventos do Windows) para o padro moderno de OpenTelemetry.
Identidade Gerenciada (Managed Identity)
Pense na Identidade Gerenciada como um "crach" de funcionrio que o Azure d para sua aplicao (ex: seu App Service). Em vez de sua aplicao precisar de uma senha (uma connection string) para acessar o banco de dados, ela apenas mostra seu crach. O Azure Key Vault e o Banco de Dados SQL do Azure olham o crach e dizem: "Ah, voc. Pode entrar."
Zero senhas no seu cdigo. O agente do Copilot pode ajudar a configurar isso.
Concluso: um Piloto, no um Piloto Automtico
Depois que o processo termina, o Copilot gera um relatrio final detalhado, listando tudo o que foi feito (incluindo os hashes de commit do Git) e, crucialmente, uma seo de "Prximas Etapas" com o que voc precisa fazer manualmente.
A modernizao do aplicativo GitHub Copilot no uma bala de prata mgica que resolve tudo com um clique. A modernizao de software inerentemente complexa.
No entanto, o que a Microsoft construiu aqui um assistente "all-in-one" que reduz drasticamente o atrito, o tdio e o medo do processo. Ele cuida dos 80% do "trabalho braal" (anlise de dependncias, refatorao de cdigo repetitivo, configurao de boilerplate do Azure), liberando voc, o desenvolvedor snior, para focar nos 20% complexos: a lgica de negcios e a validao final.
hora de tirar a poeira daquele projeto legado.


Top comments (0)