Visão geral do Assistente de Atualização do .NET

Novas versões do .NET são lançadas ao longo do ano, com um lançamento importante uma vez por ano. O Assistente de atualização do .NET ajuda você a atualizar aplicativos de versões anteriores do .NET, do .NET Core e do .NET Framework para a versão mais recente.

O Assistente de atualização do .NET é uma extensão do Visual Studio e uma ferramenta de linha de comando projetada para ajudar a atualizar aplicativos para a versão mais recente do .NET.

Os problemas relacionados ao Assistente de atualização do .NET podem ser arquivados no Visual Studio selecionando Ajuda>Enviar Feedback>Relatar um Problema.

Instalar o Assistente de atualização

O Assistente de atualização do .NET pode ser instalado como uma extensão do Visual Studio ou como uma ferramenta de linha de comando do .NET. Para obter mais informações, confira Instalar o Assistente de atualização do .NET.

Idiomas com suporte

Há suporte para as seguintes linguagens de código:

  • C#
  • Visual Basic

Projetos compatíveis

Há suporte para os seguintes tipos de projetos:

  • ASP.NET
  • Funções do Azure
  • Windows Presentation Foundation
  • Windows Forms
  • Bibliotecas de classes
  • Aplicativos de console
  • UWP .NET Native
  • Xamarin.Forms
  • .NET MAUI

Caminhos de atualização

Há suporte para os seguintes caminhos de atualização:

  • .NET Framework para .NET
  • .NET Core para .NET
  • UWP para WinUI 3
  • Versão anterior do .NET para a versão mais recente do .NET
  • Azure Functions v1-v3 para v4 isolado
  • Xamarin.Forms para .NET MAUI
    • As transformações de arquivo XAML dão suporte apenas à atualização de namespaces. Para transformações mais abrangentes, use o Visual Studio 2022 versão 17.6 ou posterior.

Atualizar com a extensão do Visual Studio

Depois de instalar a extensão do Assistente de atualização do .NET, clique com o botão direito do mouse no projeto na janela Gerenciador de Soluções e selecione Atualizar.

Cuidado

Faça backup de seus projetos antes da atualização se você não estiver usando o controle do código-fonte.

The .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

É aberta uma guia que fornece, com base no tipo de projeto, diferentes estilos de atualização:

  • Atualização de projeto in-loco

    Essa opção atualiza seu projeto sem fazer uma cópia.

  • Atualização de projeto lado a lado

    Copia seu projeto e atualiza a cópia, deixando o projeto original sozinho.

  • Incremental lado a lado

    Uma boa opção para aplicativos Web complicados. Atualizar de ASP.NET para ASP.NET Core requer um pouco de trabalho e, às vezes, refatoração manual. Esse modo coloca um projeto .NET ao lado de seu projeto do .NET Framework existente e roteia pontos de extremidade implementados no projeto .NET, enquanto todas as outras chamadas são enviadas para o aplicativo .NET Framework.

    Esse modo permite que você atualize lentamente seu aplicativo ASP.NET ou Biblioteca parte por parte.

Depois que o aplicativo for atualizado, será exibida uma tela de status que mostra todos os artefatos relacionados ao seu projeto associados à atualização. Cada artefato de atualização pode ser expandido para ler mais informações sobre o status. A seguinte lista descreve os ícones de status:

  • Marca de seleção verde preenchida: o artefato foi atualizado e concluído com êxito.
  • Marca de seleção verde não preenchida: a ferramenta não encontrou nada sobre o artefato a ser atualizado.
  • Sinal de aviso amarelo: o artefato foi atualizado, mas há informações importantes que você deve considerar.
  • X vermelho: o artefato deveria ser atualizado, mas a atualização falhou.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

Além disso, as ações executadas pelo Assistente de Atualização são registradas na janela Saída na origem do Assistente de Atualização, conforme mostrado na seguinte imagem:

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

Depois de atualizar seu projeto, você precisará testá-lo completamente.

Atualizar com a ferramenta da CLI

Depois de instalar a ferramenta de CLI do Assistente de atualização do .NET, abra uma janela do terminal e navegue até o diretório que contém o projeto que você deseja atualizar. Você pode usar o comando upgrade-assistant --help para ver as opções disponíveis que a CLI fornece.

Cuidado

Faça backup de seus projetos antes da atualização se você não estiver usando o controle do código-fonte.

Execute a ferramenta com o comando upgrade-assistant upgrade; todos os projetos da pasta atual e abaixo estão listados. A ferramenta de CLI fornece uma maneira interativa de escolher qual projeto atualizar. Use as teclas de direção para selecionar um item e pressione Enter para executá-lo. Selecione o projeto que deseja atualizar. No exemplo fornecido por este artigo, há quatro projetos na pasta atual:

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

Dependendo do projeto que você atualizar, você poderá receber uma opção para especificar como a atualização deve continuar:

  • Atualização de projeto in-loco

    Essa opção atualiza seu projeto sem fazer uma cópia.

  • Atualização de projeto lado a lado

    Essa opção só está disponível para projetos do .NET Framework. Copia seu projeto e atualiza a cópia, deixando o projeto original sozinho.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

Após essa etapa, se houver mais de uma estrutura de destino atualizável, você escolherá um destino:

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

Depois de atualizar seu projeto, você precisará testá-lo completamente.