Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Para atualizar um projeto criado em uma versão anterior do Visual Studio, abra o projeto na versão mais recente do Visual Studio. Se você ainda estiver usando uma versão mais antiga do Visual Studio lado a lado, poderá optar por não atualizar seus projetos até estar pronto para manter a compatibilidade com ambas as versões.
No Visual Studio 2026, essa experiência é aprimorada com um assistente de instalação. O assistente de instalação oferece instalar ferramentas ausentes usando o instalador do Visual Studio e permanecer em uma versão mais antiga ou redirecionar seus projetos para a versão mais recente. Você pode abrir o assistente de instalação no Gerenciador de Soluções clicando com o botão direito do mouse em sua solução e selecionando a solução Retarget.
Com o assistente de instalação aberto, escolha uma ação para cada destino ou selecione Redirecionar tudo para definir todos os projetos de uma só vez. Em seguida, selecione Aplicar para concluir a atualização em vigor. Depois que seus projetos forem redirecionados, eles não poderão ser convertidos de volta para a versão anterior. É uma boa prática fazer uma cópia de backup dos arquivos de projeto e solução existentes antes de atualizá-los.
Observação
Visual Studio 2022 e posteriores descontinuaram o suporte para a atualização de tipos de projeto que possuem 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 atualizá-los novamente no Visual Studio 2022 ou posterior para usar as ferramentas e 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ê encontrar um problema, denuncie-o à equipe do Microsoft C++ por meio de seus 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.
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)
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.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++)
Identifique e corrija erros causados por referências a APIs que não existem mais.
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.
Ative
/permissive-novamente e corrija os novos erros causados pelo código não compatível que foi compilado anteriormente em MSVC.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.
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 pesquisar soluções ou postar uma pergunta no Microsoft Learn Q&A. 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 vs. MSBuild
Portar bibliotecas de terceiros
Confira também
Novidades do Microsoft 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