Atualizar projetos C++ de versões anteriores do Visual Studio

Para atualizar um projeto criado em uma versão anterior do Visual Studio, basta abrir o projeto na versão mais recente do Visual Studio. O Visual Studio oferece atualizar o projeto para o esquema atual.

Se você escolher Não, o projeto não será atualizado. Para projetos criados no Visual Studio 2010 e posteriores, você ainda pode usar o projeto na versão mais recente do Visual Studio. Basta definir as propriedades do projeto para continuar a direcionar o conjunto de ferramentas mais antigo. Se você deixar a versão mais antiga do Visual Studio em seu computador, o conjunto de ferramentas dele ficará disponível nas versões posteriores. Por exemplo, se o projeto precisar continuar a ser executado no Windows XP, você poderá atualizar para o Visual Studio 2019. Em seguida, especifique o conjunto de ferramentas como v141_xp ou anterior nas propriedades do projeto. Para obter mais informações, consulte Usar a multiplataforma nativa no Visual Studio para compilar projetos antigos.

Se você escolher Sim, o projeto será atualizado no local. Ele não pode ser convertido de volta para a versão anterior. Em cenários de atualização, deve-se fazer uma cópia de backup dos arquivos de projeto e solução existentes.

Observação

O Visual Studio 2022 preteriu o suporte para a atualização de tipos de projeto que têm extensões .dsw ou .dsp. Você pode usar uma versão anterior do Visual Studio, como o Visual Studio 2019, para atualizar esses projetos e então atualizá-los no Visual Studio 2022 e assim usar as ferramentas e os recursos mais recentes do Visual Studio.

Atualizar relatórios

Ao atualizar um projeto, você recebe um relatório de atualização. O relatório será salvo na sua pasta de projeto como UpgradeLog.htm. O relatório de atualização mostra um resumo dos problemas encontrados durante a conversão. Ele lista algumas informações sobre alterações que foram feitas, incluindo:

  • Propriedades de projeto.

  • Incluir arquivos.

  • Código que não compila corretamente devido às melhorias de conformidade de compilador ou alterações no padrão.

  • Código que depende de recursos do Visual Studio ou do Windows que não estão mais disponíveis. Ou arquivos de cabeçalho que não são incluídos na instalação padrão do Visual Studio ou foram removidos do produto.

  • Código não compila mais devido às alterações nas APIs como APIs renomeadas, alterações nas assinaturas de função ou funções preteridas.

  • Código que não compila mais devido às alterações de diagnóstico, como um aviso que se torna um erro

  • Erros de vinculador devido as bibliotecas que foram alteradas, especialmente quando /NODEFAULTLIB é usada.

  • Erros em runtime ou resultados inesperados devido às alterações de comportamento.

  • Erros que foram introduzidos nas ferramentas. Se você localizar um problema, relate-o à equipe do Visual C++ por meio dos canais de suporte normais ou usando a página Comunidade de Desenvolvedores do Visual Studio C++.

Alguns projetos e soluções atualizados podem ser compilados com êxito sem modificação. No entanto, a maioria dos projetos provavelmente exigirá alterações em suas configurações e no código-fonte. Não há uma única maneira correta de resolver esses problemas, mas é recomendável usar uma abordagem em fases. Antes de começar, revise a Visão geral de possíveis problemas de atualização para obter mais informações sobre muitos tipos de erros comuns.

  1. Defina o Conjunto de Ferramentas de Plataforma, a Linguagem Standard C++ e a versão de SDK do Windows (se aplicável) com as versões preferenciais. (Projeto>Propriedades>Propriedades de configuração>Geral)

  2. Se você tiver muitos erros, é possível desativar temporariamente algumas opções enquanto você as corrige. Para desativar a opção /permissive-, use Projeto>Propriedades>Propriedades de Configuração>C/C++>Linguagem. Para desativar a opção de análise de código, use Projeto>Propriedades>Propriedades de Configuração>Análise de código.

  3. Verifique se todas as dependências estão presentes e se os caminhos de inclusão ou locais de biblioteca estão corretos. (Projeto>Propriedades>Propriedades de configuração>Diretórios VC++)

  4. Identifique e corrija erros causados por referências a APIs que não existem mais.

  5. Corrigir os erros restantes que impedem a compilação. Consulte Visão geral de possíveis problemas de atualização para correções de erros comuns.

  6. Ative /permissive- novamente e corrija os novos erros causados pelo código não compatível que foi compilado anteriormente em MSVC.

  7. Ative a análise de código para identificar possíveis problemas ou padrões de codificação desatualizados que não são mais considerados aceitáveis. Se a análise de código sinalizar muitos erros, você pode desativar alguns dos avisos para se concentrar nos mais importantes primeiro. O IDE pode ajudar com as Correções Rápidas para alguns tipos de problemas.

  8. Considere outras oportunidades para modernizar o código. Por exemplo, substitua estruturas de dados personalizadas e algoritmos personalizados por aqueles da biblioteca padrão C++ ou da biblioteca de código aberto Boost. Ao usar recursos padrão, você facilita a manutenção do código por outras pessoas. Você pode confiar que esse código foi bem testado e revisado por muitos especialistas no comitê de padrões e na comunidade C++ mais ampla.

Para erros difíceis de corrigir, você pode procurar soluções ou postar uma pergunta nas Perguntas e Respostas do Microsoft Learn. Para problemas no compilador e nas ferramentas do C++, experimente o site da Comunidade de Desenvolvedores do C++.

Nesta seção

Visão geral de possíveis problemas de atualização
Atualizar seu código para o CRT Universal
Atualizar o WINVER e o _WIN32_WINNT
Corrigir suas dependências em recursos internos de biblioteca
Problemas de migração de ponto flutuante
Recursos do C++ preteridos no Visual Studio
VCBuild x MSBuild
Portas bibliotecas de terceiros 3

Confira também

Novidades do Visual C++ no Visual Studio
Histórico de alterações de 2003 a 2015 do Visual C++
Comportamento não padrão
Aplicativos de dados de porta