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 grande lançamento uma vez por ano. O Assistente de Atualização do .NET ajuda você a atualizar aplicativos de versões anteriores do .NET, .NET Core e .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 na atualização de aplicativos para a versão mais recente do .NET.

Problemas relacionados ao Assistente de Atualização do .NET podem ser arquivados no Visual Studio selecionando Ajuda>Enviar Comentários>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, consulte Instalar o Assistente de Atualização do .NET.

Idiomas suportados

As seguintes linguagens de código são suportadas:

  • C#
  • Visual Basic

Projetos apoiados

São apoiados os seguintes tipos de projetos:

  • ASP.NET
  • Funções do Azure
  • Windows Presentation Foundation
  • Windows Forms
  • Bibliotecas de classes
  • Aplicações de consola
  • UWP nativa do .NET
  • Formulários Xamarin
  • .NET MAUI

Caminhos de atualização

Os seguintes caminhos de atualização são suportados:

  • .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 a v4 isolado
  • Formulários Xamarin para .NET MAUI
    • As transformações de arquivo XAML suportam apenas a 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.

Atenção

Certifique-se de fazer backup de seus projetos antes de atualizar se 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 seu tipo de projeto, diferentes estilos de atualização:

  • Atualização de projeto in-loco

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

  • Atualização do projeto lado a lado

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

  • Incremental lado a lado

    Uma boa escolha para aplicações Web complicadas. A atualização do ASP.NET para o ASP.NET Core requer bastante trabalho e, às vezes, refatoração manual. Esse modo coloca um projeto .NET ao lado de seu projeto .NET Framework existente e roteia pontos de extremidade que são implementados no projeto .NET, enquanto todas as outras chamadas são enviadas para o aplicativo .NET Framework.

    Este modo permite-lhe atualizar lentamente a sua aplicação ASP.NET ou Biblioteca peça por peça.

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

  • Marca de verificação verde preenchida: O artefato foi atualizado e concluído com êxito.
  • Marca de verificaçã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.
  • Red X: 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 fonte do Assistente de Atualização , conforme mostrado na imagem a seguir:

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

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

Atualize com a ferramenta CLI

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

Atenção

Certifique-se de fazer backup de seus projetos antes de atualizar se não estiver usando o controle do código-fonte.

Execute a ferramenta com o upgrade-assistant upgrade comando, todos os projetos da pasta atual e abaixo, são listados. A ferramenta CLI fornece uma maneira interativa de escolher qual projeto atualizar. Use as teclas de seta para selecionar um item e pressione Enter para executar o item. 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 atualizado, você pode receber uma opção para especificar como a atualização deve prosseguir:

  • Atualização de projeto in-loco

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

  • Atualização do 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 seu 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 esta 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.