.NET 11 Preview 3: Uma análise do desenvolvedor
Toda equipe carregando um aplicativo legada .NET sabe que a atualização não é a parte difícil. Aumentar o framework de destino é uma tarde. A parte difícil é tudo aquilo ao qual a base de código silenciosamente se apegou durante uma década: a dependência que só roda no Windows, o fluxo de dados que ninguém lembra totalmente, o componente que quebra em produção se você olhar para ele de forma errada. Esse é o trabalho onde a modernização sempre empaca, e a pressão para fazê-lo mesmo assim continua aumentando.
A sessão começa com uma figura da Forrester presa a um grande círculo: 94% dos líderes de TI chamaram a modernização do aplicativo de prioridade de investimento nos próximos 6 a 12 meses. O enquadramento no slide corta para a realidade do engenheiro por trás daquele número, "Mas, você lida com a dívida técnica." Essa tensão é a razão pela qual esta sessão existe.

Esse também é o trabalho que Jeff Fritz, Nish Anil e Hazem El-Hammamy colocaram um agente AI contra em sua sessão de eliminação do Build 2026, Usando ferramentas AI para ensinar truques novos a apps antigos (BRK220). A sessão mostra as capacidades de modernização do GitHub Copilot lidando com as partes do trabalho que os engenheiros temem: ler uma grande base de código, mapear suas dependências, planejar a atualização e refatorar com segurança em escala. Nós a assistimos da perspectiva da camada em que trabalhamos, geração e processamento de documentos, e o insight mais útil é sobre o que o agente revela, não apenas o que ele reescreve.
A parte interessante é o mapa de dependências
A parte de Jeff na sessão é a visão prática do desenvolvedor .NET: aponte o agente para um aplicativo legada real e deixe-o fazer o destrinçamento. Analisar uma base de código e rastrear fluxos de dados manualmente é o passo que torna a modernização um projeto de vários trimestres, porque é lento e fácil de cometer erros. Um agente que pode caminhar por todo o portfólio, construir o gráfico de dependências e sinalizar o que não sobreviverá à mudança comprime esse passo de semanas para uma sessão de trabalho.

O que ele sinaliza importa mais do que a velocidade. Quando o agente mapeia dependências, ele está procurando as coisas que bloqueiam o ambiente de destino, e uma categoria específica aparece repetidamente em apps .NET mais antigos: código que depende da máquina na qual ele roda. O exemplo clássico é o manuseio de documentos. Uma quantia surpreendente de lógica de negócios legada produz PDFs, planilhas e arquivos do Word através de automação do Office, interop COM, ou um driver de impressão que assume um desktop. Esse código funcionava bem em um servidor Windows em 2015. Ele não se move para um contêiner Linux ou uma Função Azure, porque não há Office para automatizar e nenhum COM para chamar. O agente irá revelá-lo como um bloqueio. A pergunta é no que você refatora isso.
Refatore para dependências que sobrevivem à mudança
Este é o momento na modernização onde a camada de documento é decidida, e é onde nosso trabalho se encaixa. O ponto de toda a mudança é aterrissar em um ambiente que escala e implanta bem: contêineres, serverless, CI multiplataforma. Portanto, o substituto para o código de documentos vinculado à máquina tem que ser uma biblioteca .NET gerenciada que não carrega nenhuma dessas suposições.
Quando o bloqueio é a geração de PDF, IronPDF renderiza PDFs a partir de HTML em puro .NET sem Office e sem interop, então o código refatorado roda no mesmo contêiner para o qual o restante do aplicativo modernizado está se movendo. Quando é automação de planilhas, IronXL lê e grava arquivos Excel sem Office Interop ou COM, que é exatamente a dependência sinalizada pelo agente. O mesmo vale para a geração de Word com IronWord, e para os caminhos de documentos digitalizados e imagem para texto que aplicativos legados frequentemente manipulam com ferramentas frágeis, IronOCR mantém esse passo em processo. Cada um é um alvo direto para a refatoração: o agente identifica a chamada de COM ou interop, e o novo código é uma biblioteca que se comporta da mesma forma em todas as plataformas.
A razão pela qual isso se alia bem à refatoração agente é que o substituto é determinístico. Um agente pode reescrever um site de chamada com confiança quando a nova API é uma biblioteca .NET normal que retorna um arquivo real, roda sem cabeça e não precisa de configuração de host. Não há nada para instalar no destino, nada para licenciar por máquina, nada que dependa do sistema operacional. Essa é a propriedade que permite "refatorar com segurança em escala" ser realmente seguro.
Uma forma concreta
Coloque tudo junto e o loop de modernização se parece com isso. O agente analisa o aplicativo legada e constrói o mapa de dependências. Entre os bloqueios, ele sinaliza um módulo de relatórios que gera faturas através de automação do Office, o tipo de código que falhará no momento em que o aplicativo rodar em um contêiner. O plano de atualização pede sua substituição. O agente refatora os pontos de chamada para uma biblioteca gerenciada, IronPDF para os PDFs de fatura, IronXL para a exportação de dados, e o módulo agora roda no mesmo contêiner Linux que todo o resto. O aplicativo se move, e a camada de documento se move com ele em vez de prendê-lo ao Windows.
Essa é a diferença entre modernizar o framework e modernizar o aplicativo. A atualização do framework é mecânica. O aplicativo só realmente se move quando suas dependências se movem, e a camada de documento é uma das coisas mais comuns que o retêm.
Onde ir a seguir
A sessão aponta para a documentação de modernização do GitHub Copilot e a inscrição para prévia privada para o centro de comando, livros de regras e capacidades mainframe. A Microsoft está continuando o assunto com o Dia da Modernização Agente .NET virtual em 16 de junho, e a lista completa de recursos Build cobre tudo o que foi anunciado. O breakout relacionado Modernize apps e agentes inteligentes com .NET que expandem conforme você cresce (OD801) vale a pena ser emparelhado com este.
Se você está planejando uma modernização, vale a pena saber quais dos seus bloqueios são relacionados a documentos antes que o agente os encontre. IronPDF, IronXL, IronWord e IronOCR todos oferecem testes gratuitos, ou o conjunto completo como Iron Suite, então você pode ter o alvo de refatoração pronto quando o mapa de dependências voltar. O agente pode ensinar ao app antigo muitos novos truques. Dar a ele um local limpo para pousar ainda é a decisão do engenheiro.
