Blog Post

Desenvolvedores BR
4 MIN READ

Migração de Aplicações Full Framework para Azure AKS e .NET Core

wdossantos's avatar
wdossantos
Icon for Microsoft rankMicrosoft
Apr 28, 2025

Para iniciar o processo de migração das suas aplicações Full Framework para Azure AKS e .NET Core, primeiro vou testar a ferramenta Azure Migrate. Esta ferramenta ajudará a identificar os impedimentos que sua aplicação pode ter para rodar em algum tipo de computação do Azure, como AKS ou App Services, por exemplo. O uso do Azure Migrate permitirá uma análise detalhada das dependências e compatibilidades, facilitando a transição e garantindo que todas as funcionalidades da aplicação sejam mantidas ou melhoradas no novo ambiente. Além disso, a ferramenta fornecerá recomendações específicas para otimizar a migração e minimizar possíveis interrupções durante o processo. Em seguida, vamos utilizar a ferramenta .NET Upgrade Assistant. Esta ferramenta nos ajudará na migração do código da versão Full Framework para o .NET Core 8.0, tornando a aplicação compatível com sistemas operacionais Linux, o que é ideal para aplicações containerizadas.

Criando e Abrindo um projeto 4.7.2

Vou criar o projeto no Visual Studio 2015, usando a versão FULL Framework  .NET 4.7 escolhi o template de uma aplicação ASP.NET Web Application. Este é um projeto pequeno, desses que já nascem prontos, vai servir bem para testar as ferramentas de migração. 

 

 

Depois de criado o projeto, e é importante habilitar essa versão .NET Core no Visual Studio 2022, pois precisaremos abrir o projeto nessa IDE para usar as extensões. Caso você tenha algum projeto pronto em uma versão mais antiga do dotnet então basta usá-lo

 

 

Depois de ter o projeto que vamos migrar, precisei instar o dotnet-appcat conforme essa doc Azure Migrate application and code assessment for .NET — Azure Migrate | Microsoft Learn

A documentação pende a instalando dessa extensão no visual studio Azure Migrate application and code assessment — Visual Studio Marketplace depois disso podemos abri o projeto pelo Visual Studio 2022 e já e vamos encontrar a opção re-plataform to Azure clicando com botão direito no projeto ou na solution.

 

 

Se escolhermos clicar na solution o item re-plataform to Azure disponibilizara a opção new report

 

 

Então vamos escolher para qual o tipo de computação a aplicação vai ser migrada

 

 

E como escolhemos a solution, agora vamos selecionar os projetos que queremos analisar

 

 

Um relatório com as issues será apresentado

 

 

entramos na issue e podemos ver a opção de perguntar para o copilot

 

 

Resposta do copilot para um issue especifica

 

 

E é isso basta ir resolvendo as issues, com essa ferramenta você pode verificar o código-fonte, configurações e binários da sua aplicação para encontrar oportunidades de migração para o Azure. Ele vai ajudar a identificar problemas ao mover sua aplicação para o Azure e melhora o desempenho, escalabilidade e segurança, sugerindo soluções modernas e nativas da nuvem.

NET Upgrade Assistant

Agora vamos pensar na migração do código, antigamente eu utilizava um cara chamado Portability Analyzer O .NET Portability Analyzer — .NET — .NET | Microsoft Learn, mas ele foi descontinuado e no lugar agora temos o Assistente de Atualização do .NET

 

 

Vou escolher um projeto por vez, clicando com o botão direito sobre o projeto e selecionando a opção 'update'. Esse método, em vez de gerar um relatório com as issues, tenta uma conversão direta de código. Na maioria das vezes, ele apenas faz o retarget, mas mesmo assim ajuda

 

 

No caso de um projeto WEB, a melhor opção é criar um novo projeto, pois ele vai criar uma espécie de proxy para permitir a migração paralela dos controllers 

 

 

Selecionar o framework para 8

 

 

O assistente vai criar o projeto .net core, mas apenas uma casca, sem ter migrado ó código de fato

 

 

A partir disso, precisamos voltar ao projeto original onde começamos a migração e clicar novamente em 'update' usando o botão direito sobre esse projeto. Então, será possível migrar controller por controller. Cada controller migrada leva consigo suas dependência

 

Escolher a solution

Também podemos escolher a solution que contém vários projetos. Nesse caso, vou clicar na solution e não no projeto. Veja que agora, em vez de converter, ele me dá a opção de criar um relatório.

 

 

e então ele analisa projeto por projeto e gera as issues para serem corrigidas

 

 

aqui também consegui pedir ajuda do copilot paras as issues, e assim fica muito mais prático do que o Portability Analyzer

 

 

O Assistente de Atualização do .NET ajuda a atualizar projetos para versões mais recentes do .NET e analisa seu código para detectar e corrigir possíveis incompatibilidades. Um foco da ferramenta é ajudar a migrar um projeto do .NET Framework, .NET Core ou .NET para a versão mais recente do .NET. Você usa a extensão ou a ferramenta para atualizar projetos inteiros do .NET ou algum aspecto do projeto, como a migração de um arquivo de configuração de um tipo mais antigo para um tipo mais recente.

Podemos utilizar a CLI

upgrade-assistant --help

 

 

para iniciar o assistente use o comando

upgrade-assistant upgrade

 

Script para fazer vários projetos

 

upgrade-assistant upgrade# Defina o diretório raiz $rootDir = "..." $destDir = "..." # Obtenha todos os arquivos .csproj no diretório raiz e subdiretórios $csprojFiles = Get-ChildItem -Path $rootDir -Recurse -Filter *.csproj # Execute o comando upgrade-assistant para cada arquivo .csproj foreach ($file in $csprojFiles) { Write-Host "Executando upgrade-assistant para $($file.FullName)" Start-Process -FilePath "upgrade-assistant" -ArgumentList "upgrade $($file.FullName) --operation Inplace --targetFramework net8.0 --destination ${destDir} " -Wait }

Referência

  1. Azure Migrate application and code assessment for .NET — Azure Migrate | Microsoft Learn
  2. Baixar .NET Framework | Downloads oficiais gratuitos
  3. O .NET Portability Analyzer — .NET — .NET | Microsoft Learn
  4. .NET Upgrade Assistant Overview — .NET Core | Microsoft Learn
  5. .NET Upgrade Assistant — Visual Studio Marketplace
  6. Azure Migrate application and code assessment — Visual Studio Marketplace
  7. Migração dotnet core 2.2 para 3.1 | by Wilson Santos | Medium
Updated Apr 28, 2025
Version 1.0
No CommentsBe the first to comment