Compartilhar via


Migrar do Windows Forms .NET Framework para o .NET

Este artigo descreve como atualizar um aplicativo da área de trabalho do Windows Forms para o .NET usando o Assistente de Atualização do .NET. O Windows Forms continua sendo uma estrutura somente do Windows, embora o .NET seja uma tecnologia multiplataforma.

Pré-requisitos

Avaliação

Você deve analisar seus projetos antes de executar uma atualização. A execução da análise de código em seus projetos com o Assistente de Atualização do .NET gera um relatório que você pode consultar para identificar possíveis bloqueadores de migração.

Para analisar seus projetos e gerar um relatório, clique com o botão direito do mouse no arquivo de solução no Gerenciador de Soluções e selecione Atualizar. Para obter mais informações sobre como executar uma análise, consulte Analisar projetos com o Assistente de Atualização do .NET.

Migrar dependências

Se você estiver atualizando vários projetos, comece com projetos que não tenham dependências. No exemplo de Jogo de Correspondência, o projeto MatchingGame depende da biblioteca MatchingGame.Logic , portanto , MatchingGame.Logic deve ser atualizado primeiro.

Dica

Certifique-se de ter um backup do seu código, como no controle do código-fonte ou em uma cópia.

Use as seguintes etapas para atualizar um projeto no Visual Studio:

  1. Clique com o botão direito do mouse no projeto MatchingGame.Logic na janela Gerenciador de Soluções e selecione Atualizar:

    Uma captura de tela do item de menu Atualização do Assistente de Atualização do .NET no Visual Studio.

    Uma nova guia é aberta solicitando que você escolha qual atualização deseja executar.

  2. Selecione Atualização de projeto in-loco.

    Uma captura de tela da guia Assistente de Atualização do .NET. A opção 'Atualização de projeto in-loco' é realçada.

  3. Em seguida, selecione a estrutura de destino.

    Com base no tipo de projeto que você está atualizando, você verá diferentes opções. O .NET Standard 2.0 pode ser usado pelo .NET Framework e pelo .NET. Essa é uma boa opção se a biblioteca não depender de uma tecnologia de área de trabalho como o Windows Forms, o que este projeto faz.

    Selecione .NET 9.0 e, em seguida, selecione Avançar.

    Uma captura de tela do Assistente de Atualização do .NET. O prompt da estrutura de destino está aberto e o .NET 8 é realçado junto com o botão 'Avançar'.

  4. Uma árvore é mostrada com todos os artefatos relacionados ao projeto, como arquivos de código e bibliotecas. É possível atualizar artefatos individuais ou o projeto inteiro, que é o padrão. Selecione Seleção de atualização para iniciar a atualização.

    Uma captura de tela do Assistente de Atualização do .NET. A página 'Selecionar componentes' é aberta com o botão 'Seleção de atualização' destacado.

  5. Quando a atualização for concluída, os resultados serão exibidos:

    Uma captura de tela da guia de resultados de atualização do Assistente de Atualização do .NET, mostrando os itens migrados do projeto.

    Artefatos com um círculo verde sólido foram atualizados, enquanto círculos verdes vazios foram ignorados. Artefatos ignorados significam que o assistente de atualização não encontrou nada para atualizar.

Agora que a biblioteca de suporte do aplicativo foi atualizada, atualize o aplicativo principal.

Notas para projetos do Visual Basic

Atualmente, o Assistente de Atualização do .NET não reconhece o uso de no arquivo de System.Configuration configurações criado pelos modelos do Visual Basic no .NET Framework. Ele também não respeita o My uso das extensões usadas em projetos do .NET Framework, como My.Computer e My.User. Essas extensões foram removidas no .NET. Devido a esses dois problemas, uma biblioteca do Visual Basic não será compilada após ser migrada com o Assistente de Atualização do .NET.

Para corrigir esse problema, o projeto deve ter como destino o Windows e fazer referência ao Windows Forms.

  1. Após a conclusão da migração, clique duas vezes no projeto MatchingGame.Logic na janela Gerenciador de Soluções.
  2. Localize o elemento <Project>/<PropertyGroup>.
  3. No editor XML, altere o valor de <TargetFramework> de para net9.0net9.0-windows .
  4. Adicione <UseWindowsForms>true</UseWindowsForms> à linha após <TargetFramework>.

As configurações do projeto devem ser semelhantes ao seguinte snippet:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <OutputType>Library</OutputType>
    <MyType>Windows</MyType>

    ... other settings removed for brevity ...

Migrar o projeto principal

Depois que todas as bibliotecas de suporte forem atualizadas, o projeto do aplicativo principal poderá ser atualizado. Com o aplicativo de exemplo, há apenas um projeto de biblioteca a ser atualizado, que foi atualizado na seção anterior.

  1. Clique com o botão direito do mouse no projeto MatchingGame na janela Gerenciador de Soluções e selecione Atualizar:
  2. Selecione Atualização de projeto in-loco.
  3. Selecione .NET 9.0 para a estrutura de destino e selecione Avançar.
  4. Deixe todos os artefatos selecionados e selecione Atualizar seleção.

Após a conclusão da atualização, os resultados são mostrados. Observe como o projeto Windows Forms tem um símbolo de aviso. Expanda esse item e mais informações serão mostradas sobre essa etapa:

Uma captura de tela da guia de resultados de atualização do Assistente de Atualização do .NET, mostrando que alguns dos itens de resultado têm símbolos de aviso.

Observe que o componente de atualização do projeto menciona que a fonte padrão foi alterada. Como a fonte pode afetar o layout do controle, você precisa verificar todos os formulários e controles personalizados em seu projeto para garantir que a interface do usuário esteja organizada corretamente.

Gerar uma compilação limpa

Depois que seu projeto principal for atualizado, limpe-o e compile-o.

  1. Clique com o botão direito do mouse no projeto MatchingGame na janela Gerenciador de Soluções e selecione Limpar.
  2. Clique com o botão direito do mouse no projeto MatchingGame na janela Gerenciador de Soluções e selecione Compilar.

Se o aplicativo encontrou erros, você pode encontrá-los na janela Lista de Erros com uma recomendação de como corrigi-los.

O projeto de exemplo de jogo de correspondência do Windows Forms agora é atualizado para o .NET 9.

Experiência pós-atualização

Se você estiver portando um aplicativo do .NET Framework para o .NET, examine o artigo Modernizar após atualizar para o .NET do .NET Framework .

  • Portabilidade do .NET Framework para o .NET.

    O guia de portabilidade fornece uma visão geral do que você deve considerar ao portar seu código do .NET Framework para o .NET. A complexidade de seus projetos determina quanto trabalho você fará após a migração inicial dos arquivos de projeto.

  • Modernize após atualizar para o .NET do .NET Framework.

    O mundo do .NET mudou muito desde o .NET Framework. Este link fornece algumas informações sobre como modernizar seu aplicativo após a atualização.