Visual Studio 2019 – Portar, migrar e atualizar projetos
Developer Community | Requisitos do sistema | Compatibilidade | Código distribuível | Histórico de versões | Termos de licença | Blogs
Cada nova versão do Visual Studio dá suporte à maioria dos tipos de projetos, arquivos e outros ativos. Você pode trabalhar com eles como sempre fez, desde que não dependa de recursos mais recentes.
Dica
Se você estiver procurando informações específicas para nossa próxima versão, confira a versão do Visual Studio 2022 desta página.
Tentamos preservar a compatibilidade com versões anteriores, como Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 e Visual Studio 2012. No entanto, o suporte para alguns tipos de projeto muda ao longo do tempo. É possível que uma versão mais recente do Visual Studio não dê suporte a determinados projetos ou exija que você atualize um projeto para que deixe de ser compatível com versões anteriores.
Observação
Para obter o status atual de problemas de migração, veja a Comunidade do Desenvolvedor do Visual Studio. E para saber mais sobre quais recursos são específicos para qual versão do Visual Studio, confira as Notas sobre a versão.
Importante
Alguns tipos de projeto exigem cargas de trabalho específicas. Se a carga de trabalho não estiver instalada, o Visual Studio relatará um tipo de projeto desconhecido ou incompatível. Nesse caso, verifique as opções de instalação no Instalador do Visual Studio e tente novamente. Para obter mais informações sobre o suporte ao projeto no Visual Studio 2019, confira a página Direcionamento e Compatibilidade da Plataforma.
Tipos de projeto
A lista a seguir descreve o suporte no Visual Studio 2019 para projetos que foram criados em versões anteriores.
Se você não vir um projeto ou um tipo de arquivo que deveria estar listado aqui, consulte a versão do Visual Studio 2017 deste artigo. Você também pode usar o botão Enviar e conferir comentários sobre>Esta página, na parte inferior desta página para fornecer detalhes do seu projeto. (Se você usar o controle anônimo "Esta página foi útil?", não poderemos responder aos seus comentários.)
Tipo de projeto | Suporte |
---|---|
Projetos do .NET Core (xproj) | Projetos criados com o Visual Studio 2015 usavam ferramentas de visualização que incluíam um arquivo de projeto xproj. Visual Studio 2017: o formato xproj não é compatível, exceto quanto à migração para o csproj. Ao abrir um arquivo xproj, você será solicitado a migrar o arquivo para o formato csproj estilo SDK. (Um backup do arquivo xproj será feito.) Não há suporte para projetos csproj no estilo SDK no Visual Studio 2015 e anteriores. Visual Studio 2019: na versão 16.3 e posterior, você não pode carregar ou migrar projetos xproj. Para obter mais informações, consulte Migrando projetos do .NET Core para o formato csproj. |
Aplicativo Web ASP.NET Core e Aplicativo Web ASP.NET Core com o Application Insights habilitado | Para cada usuário do Visual Studio, as informações de recurso são armazenadas no Registro por instância de usuário. Essas informações serão usadas quando um usuário não tiver um projeto aberto e desejar pesquisar dados do Azure Application Insights. O Visual Studio 2015 usa uma localização de Registro diferente do Visual Studio 2017 e do Visual Studio 2019 e não entra em conflito com eles. Quando um usuário cria um Aplicativo Web ASP.NET ou um Aplicativo Web ASP.NET Core, os recursos são armazenados no arquivo .suo. O usuário pode abrir o projeto no Visual Studio 2015, no Visual Studio 2017 ou no Visual Studio 2019 e as informações de recurso são usadas para cada um, desde que o Visual Studio dê suporte às soluções e aos projetos usados nas duas versões. Os usuários devem se autenticar uma vez em cada produto. Por exemplo, se um projeto for criado com o Visual Studio 2017 e aberto no Visual Studio 2019, o usuário precisará se autenticar no Visual Studio 2019. |
Formulário da Web ou Windows Form em C#/Visual Basic | É possível abrir o projeto no Visual Studio 2019, no Visual Studio 2017 e no Visual Studio 2015. |
Teste de UI codificado | O teste de IU codificado para teste funcional controlado por interface do usuário automatizado foi preterido no Visual Studio 2019. O Visual Studio 2019 será a última versão para o teste de IU codificado. Recomendamos usar o Selenium para testar aplicativos Web e o Appium com o WinAppDriver para testar aplicativos UWP e da área de trabalho. |
Projetos de teste de unidade de banco de dados (csproj, .vbproj) | Os projetos de teste de unidade de dados mais antigos são carregados no Visual Studio 2019, mas usam a versão do cache de assembly global das dependências. Para atualizar o projeto de teste de unidade para usar as dependências mais recentes, clique com o botão direito do mouse no projeto no Gerenciador de Soluções e selecione Converter no Projeto de Teste de Unidade do SQL Server.... |
F# | O Visual Studio 2019 pode abrir projetos criados no Visual Studio 2013, no Visual Studio 2015 e no Visual Studio 2017. A principal diferença dos modelos mais antigos do Visual Studio para novos projetos é que a versão do FSharp.Core agora sempre é um pacote NuGet. O F# é instalado por padrão com qualquer Carga de Trabalho do .NET. |
InstallShield Instalação do MSI |
Projetos do instalador criados no Visual Studio 2010 podem ser abertos em versões posteriores com a ajuda da extensão Projetos do Instalador do Visual Studio. Consulte também o WiX Toolset Visual Studio 2017 Extension (Extensão do Conjunto de Ferramentas WiX do Visual Studio 2017). O InstallShield Limited Edition não está mais incluído com o Visual Studio. Verifique com a Revenera sobre a disponibilidade para o Visual Studio 2019. |
LightSwitch | Não há mais suporte para o LightSwitch no Visual Studio 2022, Visual Studio 2019 nem no Visual Studio 2017. Os projetos criados com o Visual Studio 2012 e anteriores abertos no Visual Studio 2013 ou no Visual Studio 2015 serão atualizados e poderão ser abertos apenas no Visual Studio 2013 ou no Visual Studio 2015 e posteriores. |
Carregar Teste | As funcionalidades de teste de carga e desempenho Web foram preteridas no Visual Studio 2019 e posterior. O Visual Studio 2019 será a última versão do teste de carga. Use ferramentas de teste de carga alternativas como Apache JMeter, Akamai CloudTest e Blazemeter. |
Ferramentas do Microsoft Azure para Visual Studio | Para abrir esses tipos de projetos, primeiro instale o SDK do Azure para .NET e, em seguida, abra o projeto. Se necessário, o projeto será atualizado. |
Microsoft Test Manager | O Microsoft Test Manager e o Feedback Client não são mais fornecidos no Visual Studio, a partir do Visual Studio 2019. Aproveite o Azure Test Plans (parte do Azure DevOps) para suas necessidades de testes manuais e exploratórios. |
Estrutura Modelo-Exibição-Controlador (ASP.NET MVC) | Suporte para versões do MVC e para o Visual Studio:
Atualizando versões do MVC:
|
Modelagem | Se você permitir que o Visual Studio atualize o projeto automaticamente, será possível abri-lo no Visual Studio 2015, Visual Studio 2013 ou Visual Studio 2012. O formato do projeto de modelagem não foi alterado desde o Visual Studio 2015 e o projeto pode ser aberto e modificado nessas versões. No entanto, há diferenças de comportamento do Visual Studio 2017 e do Visual Studio 2019:
|
Instalação MSI (vdproj) | Confira a seção InstallShield desta página. |
Office 2007 VSTO | Exige uma atualização unidirecional para o Visual Studio 2019. |
Office 2010 VSTO | Se o projeto for destinado ao .NET Framework 4, será possível abri-lo no Visual Studio 2010 SP1 e posterior. Todos outros projetos exigem uma atualização unidirecional. |
PCL (Biblioteca de Classes Portátil) | Os PCLs (Bibliotecas de Classes Portátil) agora não têm suporte. O Visual Studio 2019 ainda abrirá os projetos e os compilará, mas não poderá criar projetos PCL. Recomendamos migrar o código de um projeto PCL para um projeto .NET Standard. O suporte ao PCL não será mais incluído por padrão, mas estará disponível na guia "Componentes Individuais" do Visual Studio. |
Carga de trabalho do Python | O suporte para aplicativos do Python Windows IoT Core foi removido no Visual Studio 2019. Como não há nenhum equivalente no Visual Studio 2019, não há nenhum caminho de migração automática para esses projetos. Você pode continuar usando o Visual Studio 2017. |
Ferramentas de R para o Visual Studio | As Ferramentas do R para Visual Studio foram removidas da Carga de Trabalho de Ciência de Dados no Visual Studio 2019. Você pode continuar usando o Visual Studio 2017 ou alternativas como o RStudio. |
Service Fabric (sfproj) | Os projetos de Aplicativo do Service Fabric podem ser abertos no Visual Studio 2015, Visual Studio 2017 e Visual Studio 2019, a menos que o projeto de Aplicativo do Service Fabric referencie um projeto de serviço do ASP.NET Core. Os projetos do Service Fabric no Visual Studio 2015 que são abertos no Visual Studio 2017 ou no Visual Studio 2019 são migrados de forma unidirecional do formato xproj para csproj. Consulte "Projetos do .NET Core (xproj)" anteriormente nesta tabela. |
SharePoint 2010 | Quando um projeto de solução do SharePoint for aberto com o Visual Studio 2019, ele será atualizado para o SharePoint 2013 ou SharePoint 2016. A carga de trabalho "Desenvolvimento para Desktop do .NET" deve ser instalada no Visual Studio 2019 para a atualização. Para obter mais informações sobre como atualizar projetos do SharePoint, confira Atualizar e atualizar o SharePoint. |
SharePoint 2016 | Projetos de Suplemento do SharePoint criados no Office Developer Tools Preview 2 não podem ser abertos no Visual Studio 2019. Para contornar essa limitação, atualize o MinimumVisualStudioVersion para a versão 12.0 e o MinimumOfficeToolsVersion para a 12.2 no arquivo csproj vbproj. |
Silverlight | Projetos do Silverlight não são compatíveis no Visual Studio 2019. Para manter os aplicativos do Silverlight, continue a usar o Visual Studio 2015. |
SQL – Redgate | O SQL Change Automation Core (anteriormente chamado ReadyRoll Core), o SQL Prompt Core e o SQL Search do Redgate não são mais fornecidos no Instalador do Visual Studio. Você pode continuar usando o Visual Studio 2017 para essas funcionalidades. No Visual Studio 2019, você pode fazer a atualização para os produtos pagos SQL Change Automation e SQL Prompt pagos que estão disponíveis no SQL Toolbelt do Redgate. |
SQL Server Reporting Services e SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) | O suporte para esses tipos de projeto é fornecido por meio de duas extensões na Galeria do Visual Studio: Projetos do Microsoft Analysis Services e Projetos do Microsoft Reporting Services. Suporte do SSDT também está incluso com a carga de trabalho de Processamento e Armazenamento de Dados no Visual Studio 2019. Para saber mais, confira a página Baixar e instalar o SQL Server Data Tools (SSDT) para Visual Studio. |
O SQL Server Integration Services (SSIS) | O suporte ao Visual Studio 2019 está disponível. Para saber mais, confira a página Baixar e instalar o SQL Server Data Tools (SSDT) para Visual Studio, o blog da equipe SQL Server Integration Services (SSIS) e a página Projetos do SQL Server Integration Services no Marketplace. |
Extensão da Janela de Teste | No Visual Studio 2019, algumas APIs de janela de teste que foram marcadas como públicas anteriormente, mas nunca foram documentadas oficialmente, foram removidas. As APIs amplamente visíveis foram marcadas como preteridas no Visual Studio 2017 para fornecer um aviso antecipado aos mantenedores de extensão. Para o nosso conhecimento, poucas extensões haviam criado uma dependência dessas APIs. Para obter mais informações e atualizações, veja a lista completa de APIs relacionadas a teste preteridas. Se isso afetar seu cenário, informe-nos por meio do Visual Studio Developer Community. |
Visual C++ | Você pode usar o Visual Studio 2019 para trabalhar em projetos criados em versões anteriores do Visual Studio no Visual Studio 2010. Quando você abre o projeto pela primeira vez, tem a opção de atualizar para o compilador e o conjunto de ferramentas mais recentes, ou continuar usando os originais. Se você optar por continuar usando os originais, o Visual Studio 2019 não modificará o arquivo de projeto e usará o conjunto de ferramentas da instalação anterior do Visual Studio para compilar o projeto. Manter as opções originais significa que você ainda pode abrir o projeto na versão original do Visual Studio, se for necessário. Para obter mais informações, consulte Usar a multiplataforma nativa no Visual Studio para compilar projetos antigos. |
Extensibilidade/VSIX do Visual Studio | Os projetos com o MinimumVersion 14.0 ou inferior serão atualizados para declarar a MinimumVersion 15.0, que impede que o projeto seja aberto em versões anteriores do Visual Studio. Para permitir que um projeto seja aberto em versões anteriores, defina MinimumVersion como $(VisualStudioVersion) . Consulte também Como migrar projetos de extensibilidade para o Visual Studio 2017. |
Visual Studio Lab Management | É possível usar o Microsoft Test Manager ou o Visual Studio 2010 SP1 e posterior para abrir ambientes criados em qualquer uma dessas versões. No entanto, para o Visual Studio 2010 SP1, a versão do Microsoft Test Manager deve corresponder à versão do Team Foundation Server para que você possa criar ambientes. (Importante: o Team Foundation Server, ou TFS, agora é conhecido como Azure DevOps Server.) |
Ferramentas do Visual Studio para Apache Cordova | O suporte para o Apache Cordova foi removido no Visual Studio 2019. Como não há nenhum equivalente no Visual Studio 2019, não há nenhum caminho de migração automática para esses projetos. Você pode usar a extensão Ferramentas do Cordova para Visual Studio Code (que fornece suporte para a última versão do Cordova) ou continuar usando o Visual Studio 2017. |
Implantação da Web (wdproj) | O suporte para projetos da Implantação da Web foi removido no Visual Studio 2012 com a adição do suporte ao perfil de publicação. Como não há nenhum equivalente no Visual Studio 2019, não há nenhum caminho de migração automática para esses projetos. Em vez disso, abra o arquivo wdproj em um editor de texto e copie e cole as personalizações em para o arquivo pubxml (perfil de publicação), conforme descrito em StackOverflow. |
Windows Communication Foundation, Windows Workflow Foundation | Abra esse projeto no Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 e Visual Studio 2012. |
Windows Presentation Foundation | Abra esse projeto no Visual Studio 2019, Visual Studio 2017, Visual Studio 2013, Visual Studio 2012 e Visual Studio 2010 SP1. |
Aplicativos do Windows Phone | Não há suporte para projetos do Windows Phone no Visual Studio 2019. Para manter os aplicativos do Windows Phone 8.x, use o Visual Studio 2015. Para manter os projetos do Windows Phone 7. x, use o Visual Studio 2012. |
aplicativos da Windows Store | Não há suporte para Projetos Universais do Windows de JavaScript no Visual Studio 2019. Para manter esses projetos, use o Visual Studio 2017. Os SDKs do Windows 10 anteriores ao Windows 10 Fall Creators Update (build 16299) foram removidos do instalador do Visual Studio 2019. Baixe os SDKs mais antigos manualmente ou redirecione seus projetos para que eles usem os SDKs mais recentes. Não há suporte para Projetos Universais do Windows usando project.json. Recomendamos atualizar esses projetos para usar referências de pacote. Como alternativa, adicione uma referência ao Microsoft.NET.Test.Sdk versão 16.0.0.0 no arquivo project.json. Não há suporte para projetos da Windows Store 8.1 e 8.0 no Visual Studio 2019. Para manter esses aplicativos, continue a usar o Visual Studio 2015. |
Xamarin | A extensão Xamarin Live Player para Visual Studio e Visual Studio para Mac foi removida. Isso remove qualquer integração e a tela de emparelhamento. Em vez disso, use o Visualizador do Xamarin.Forms interno. O Emulador do Visual Studio para Android foi removido do Instalador do Visual Studio. Em vez disso, use o novo suporte do Hyper-V no Google Android Emulator. |
Migrar um projeto
Embora tentemos manter a compatibilidade com as versões anteriores, pode haver alterações que não são compatíveis com versões anteriores. (Confira Direcionamento e Compatibilidade da Plataforma para ver quais tipos de projeto têm suporte no Visual Studio 2019.) Quando isso acontecer, uma versão mais recente do Visual Studio não carregará o projeto nem oferecerá um caminho de migração. Talvez seja necessário manter esse projeto em uma versão anterior do Visual Studio.
Às vezes, a versão mais recente do Visual Studio poderá abrir um projeto, mas precisará atualizar ou migrar o projeto, de forma que ele poderá se tornar incompatível com versões anteriores. O Visual Studio usa os critérios a seguir para determinar se essa migração é necessária:
Compatibilidade com as versões de destino das plataformas, até o Visual Studio 2013 RTM.
Compatibilidade de ativos de tempo de design com versões anteriores do Visual Studio. (Ou seja, canais diferentes do Visual Studio 2019; Visual Studio 2017; Visual Studio 2015 RTM e Atualização 3; Visual Studio 2013 RTM e Atualização 5; Visual Studio 2012 Atualização 4 e Visual Studio 2010 SP 1.) O Visual Studio 2019 tem o objetivo de falhar normalmente com ativos em tempo de design preteridos sem corrompê-los, de modo que as versões anteriores ainda possam abrir o projeto.
Se novos ativos de tempo de design interromperiam a compatibilidade com versões anteriores até o Visual Studio 2013 RTM e Atualização 5.
A equipe de engenharia responsável pelo tipo de projeto examina esses critérios e toma a decisão em termos de compatibilidade, suporte e migração. Novamente, tentamos manter a compatibilidade entre as versões do Visual Studio para que, quando você criar e modificar projetos em uma versão do Visual Studio, funcione apenas em outras versões.
Às vezes, a compatibilidade não é possível. Então, o Visual Studio abre o assistente de atualização para fazer as alterações unidirecionais necessárias. Essas alterações unidirecionais podem envolver a alteração a propriedade ToolsVersion
no arquivo de projeto, que indica exatamente qual versão do MSBuild pode transformar o código-fonte do projeto em artefatos executáveis e implantáveis que você deseja.
O que torna um projeto incompatível com versões anteriores do Visual Studio não é a versão do Visual Studio, mas a versão do MSBuild, conforme determinado por ToolsVersion
. Se sua versão do Visual Studio contenha a cadeia de ferramentas do MSBuild correspondente a ToolsVersion
em um projeto, o Visual Studio poderá invocar essa cadeia de ferramentas para compilar o projeto.
Para manter a compatibilidade com projetos criados em versões anteriores, o Visual Studio 2019 inclui as cadeias de ferramentas do MSBuild necessárias para dar suporte a ToolsVersion
15, 14, 12 e 4. Projetos que usam qualquer um desses valores ToolsVersion
devem resultar em um build bem-sucedido. (Sujeito, novamente, ao fato de o Visual Studio 2019 dar suporte ao tipo de projeto, conforme descrito em Direcionamento e Compatibilidade da Plataforma.)
Você pode estar tentado atualizar ou migrar manualmente um projeto para um valor ToolsVersion
mais recente. Não é necessário fazer essa alteração e provavelmente geraria muitos erros e avisos que você deve corrigir para compilar o projeto novamente. Além disso, se o Visual Studio não der suporte a um ToolsVersion
específico no futuro, o projeto disparará o processo de migração do projeto quando você abri-lo, porque o valor ToolsVersion
deve ser alterado.
Próximas etapas
Consulte os seguintes artigos para uma discussão mais detalhada: