
O Visual Studio 2019 ultrapassa os limites da produtividade individual e da equipe . Esperamos que você ache esses novos recursos atraentes e inicie sua atualização para o Visual Studio 2019 em breve.
Enquanto você está considerando esta atualização, tenha certeza de que o Visual Studio 2019 facilita muito a movimentação da base de código das versões anteriores do Visual Studio. Esta postagem captura os motivos pelos quais sua atualização para o Visual Studio 2019 será indolor.
Instalações lado a lado do Visual Studio
Você pode instalar a versão mais recente do Visual Studio em um computador que já tenha uma versão anterior instalada e continuar usando as duas versões em paralelo, sem interferência. Essa é uma ótima maneira de experimentar o Visual Studio 2019 ou adotá-lo para alguns de seus projetos. O Instalador do Visual Studio permitirá gerenciar instalações do Visual Studio 2017 e 2019 a partir de uma interface do usuário central.

Conjuntos de ferramentas MSVC v140 (VS 2015.3) e MSVC v141 (VS 2017) no IDE do Visual Studio 2019
Mesmo se você ainda não estiver pronto para mover seu projeto para o conjunto de ferramentas mais recente (MSVC v142), ainda poderá carregar o projeto no IDE do Visual Studio 2019 e continuar usando o conjunto de ferramentas antigo atual.
Carregar seus projetos C ++ existentes no IDE não atualizará / alterará seus arquivos de projeto. Dessa forma, seus projetos também serão carregados na versão anterior do IDE, caso você precise voltar ou tiver colegas de equipe que ainda não tenham atualizado para o VS 2019 (essa funcionalidade também é conhecida como roundtrip do projeto ).
Os conjuntos de ferramentas de instalações mais antigas do VS em sua caixa são visíveis como conjuntos de ferramentas da plataforma no IDE mais recente. E se você está começando do zero com apenas o VS 2019 instalado em sua máquina, é muito fácil adquirir esses conjuntos de ferramentas mais antigos diretamente do Visual Studio Installer, personalizando a carga de trabalho do C ++ Desktop (com a guia Componentes individuais listando todas as opções).

Novo conjunto de ferramentas v142 agora disponível
Dentro da onda do Visual Studio 2019 (visualizações, disponibilidade geral e atualizações futuras), planejamos continuar evoluindo nossos compiladores e bibliotecas C ++ com
- novos recursos do C ++ 20,
- produção mais rápida e
- otimizações de codegen ainda melhores.
O conjunto de ferramentas MSVC v142 já está disponível e já traz vários incentivos para você migrar.
O tempo de execução do VC no conjunto de ferramentas mais recente do MSVC v142 é compatível com os binários v140 e v141
Ouvimos em voz alta e clara que um dos principais motivos que contribuem para a rápida adoção do MSVC v141 hoje é sua compatibilidade binária com o MSVC v140. Isso permitiu que você migrasse seu próprio código para o conjunto de ferramentas v141 no seu próprio ritmo, sem precisar esperar nenhuma das dependências da biblioteca de terceiros migrar primeiro.
Queremos manter o ritmo e garantir que você tenha uma experiência de adoção igualmente bem-sucedida com o MSVC v142. É por isso que anunciamos hoje que nossa equipe está comprometida em fornecer compatibilidade binária para o MSVC v142 com o MSVC v141 e v140 .
Isso significa que, se você compilar todo o seu código com o conjunto de ferramentas v142, mas ainda tiver uma ou mais bibliotecas criadas com o conjunto de ferramentas v140 ou v141, vincular tudo isso (com o vinculador mais recente) funcionará conforme o esperado. Para tornar isso possível, o VC Runtime não altera sua versão principal no VS 2019 e permanece compatível com versões anteriores das versões anteriores do VC Runtime.
C:\source\repos\TimerApp\Debug>dumpbin TimerApp2019.exe /IMPORTS | findstr .dll mfc140ud.dll KERNEL32.dll USER32.dll GDI32.dll COMCTL32.dll OLEAUT32.dll gdiplus.dll VCRUNTIME140D.dll ucrtbased.dll 2EE _seh_filter_dll
Quando você mistura binários criados com diferentes versões suportadas do conjunto de ferramentas MSVC, há um requisito de versão para o VCRedist que você redistribui com seu aplicativo. Especificamente, o VCRedist não pode ser mais antigo que qualquer uma das versões do conjunto de ferramentas usadas para criar seu aplicativo.
Centenas de bibliotecas C ++ no Vcpkg estão disponíveis, independentemente do conjunto de ferramentas que você está usando
Se você estiver usando o Vcpkg hoje com o VS 2015 ou VS 2017 para uma ou mais de suas dependências de código aberto, ficará feliz em saber que essas bibliotecas (quase 900 no momento da redação deste artigo) agora podem ser compiladas com o MSVC conjunto de ferramentas v142 e estão disponíveis para consumo nos projetos do Visual Studio 2019.
Se você está apenas começando o Vcpkg, não se preocupe - o Vcpkg é um projeto de código aberto da Microsoft para ajudar a simplificar a aquisição e a criação de bibliotecas C ++ de código aberto no Windows, Linux e Mac .
Como a v142 é binária compatível com a v141 e v140, todos os pacotes que você já instalou também continuarão funcionando no VS 2019 sem recompilação; no entanto, recomendamos recompilar quando puder para que você possa aproveitar as novas otimizações do compilador que adicionamos à v142!
Se você tiver o VS 2019 Preview instalado lado a lado com uma versão mais antiga do VS (por exemplo, VS 2017), o Vcpkg preferirá a versão estável, portanto, você precisará definir a variável tripla do Vcpkg VCPKG_PLATFORM_TOOLSET como v142 para usar o conjunto de ferramentas mais recente do MSVC.
Versão do compilador MSVC muda para 19.2x (de 19.1x no MSVC v141)
Por último, mas não menos importante, a parte do compilador do conjunto de ferramentas do MSVC v142 altera sua versão para 19.20 - apenas um incremento de versão menor comparado ao MSVC v141.

Observe que as macros de teste de recurso são suportadas no compilador MSVC e no STL a partir do MSVC v141 e devem ser a opção preferida para permitir que seu código suporte várias versões do MSVC.
Apelo à ação
Faça o download do Visual Studio 2019 hoje e deixe-nos saber o que você pensa. Nosso objetivo é tornar sua transição para o VS 2019 o mais fácil possível, para que, como sempre, tenhamos muito interesse em seus comentários. Podemos ser contatados pelos comentários abaixo ou por e-mail ( visualcpp@microsoft.com ).
Se você encontrar outros problemas com o Visual Studio ou MSVC ou tiver uma sugestão, informe-nos através de Ajuda> Enviar comentários> Relatar um problema / Fornecer uma sugestão no produto ou através da Comunidade do desenvolvedor . Você também pode encontrar-nos no Twitter em @VisualC .