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
- Sistema operacional Windows.
- Baixe e extraia o aplicativo de demonstração usado com este artigo.
- Visual Studio 2022 versão 17.12 ou posterior para direcionar o .NET 9.
- Extensão do Assistente de Atualização do .NET para Visual Studio.
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:
Clique com o botão direito do mouse no projeto MatchingGame.Logic na janela Gerenciador de Soluções e selecione Atualizar:
Uma nova guia é aberta solicitando que você escolha qual atualização deseja executar.
Selecione Atualização de projeto in-loco.
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 á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.
Quando a atualização for concluída, os resultados serão exibidos:
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.
- Após a conclusão da migração, clique duas vezes no projeto MatchingGame.Logic na janela Gerenciador de Soluções.
- Localize o elemento
<Project>/<PropertyGroup>
. - No editor XML, altere o valor de
<TargetFramework>
de paranet9.0
net9.0-windows
. - 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.
- Clique com o botão direito do mouse no projeto MatchingGame na janela Gerenciador de Soluções e selecione Atualizar:
- Selecione Atualização de projeto in-loco.
- Selecione .NET 9.0 para a estrutura de destino e selecione Avançar.
- 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:
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.
- Clique com o botão direito do mouse no projeto MatchingGame na janela Gerenciador de Soluções e selecione Limpar.
- 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 .
Conteúdo relacionado
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.
.NET Desktop feedback