Porta do Visual Studio 2022, migrar e atualizar projetos
Dica
Assista às gravações do evento de lançamento do Visual Studio 2022 para saber mais sobre as novidades, ouvir dicas e truques e baixar ofertas digitais gratuitas.
Developer Community | Roteiro do Visual Studio 2022 | Requisitos do sistema | Compatibilidade | Código distribuível | Histórico do versões | Termos de licença | Blogs | Problemas conhecidos da versão mais recente | O que há de novo no Visual Studio Docs
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.
Tentamos preservar a compatibilidade com versões anteriores, como Visual Studio 2019, 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 2022, confira a página Direcionamento e Compatibilidade da Plataforma.
Tipos de projeto
A lista a seguir descreve o suporte no Visual Studio 2022 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 2019 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, Visual Studio 2019 e Visual Studio 2022 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, Visual Studio 2017, Visual Studio 2019 ou Visual Studio 2022 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 2022, o usuário precisará se autenticar no Visual Studio 2022. |
Formulário da Web ou Windows Form em C#/Visual Basic | É possível abrir o projeto no Visual Studio 2022, Visual Studio 2019, Visual Studio 2017 e 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 2022. |
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. 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 2022. |
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 2022, 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 criados no Visual Studio 2017 ou no Visual Studio 2019 podem ser abertos no Visual Studio 2022 sem alterações. Os Projetos de Aplicativo do Service Fabric criados no Visual Studio 2022, sem usar a opção Otimizar layout de projeto para implantação do ARM, podem ser abertos no Visual Studio 2019 16.5 ou posterior. Os Projetos de Aplicativo do Service Fabric criados no Visual Studio 2022, usando a opção Otimizar layout de projeto para implantação do ARM, podem ser abertos no Visual Studio 2019 16.10 ou posterior. |
SharePoint 2010 | Quando um projeto de solução do SharePoint for aberto com o Visual Studio 2022, ele será atualizado para o SharePoint 2016 ou SharePoint 2019. A carga de trabalho "Desenvolvimento para Desktop do .NET" deve ser instalada no Visual Studio 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 2022. 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 2022. 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) | A extensão projetos do SQL Server Integration Services está em disponibilidade geral para o Visual Studio 2022. Baixe do SQL Server Integration Services Projects 2022 – Visual Studio Marketplace e consulte o guia de solução de problemas para obter diretrizes de solução de problemas. |
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. |
TypeScript | O TypeScript SDK foi preterido no Visual Studio 2022 e não é mais instalado por padrão em nenhuma carga de trabalho. Os projetos que compilam o TypeScript devem instalar o pacote NuGet Microsoft.TypeScript.MSBuild. Para dar suporte a projetos que não podem ser atualizados imediatamente, o TypeScript SDK ainda está disponível como componente opcional no instalador do Visual Studio, bem como no Visual Studio Marketplace. |
Visual C++ | Você pode usar o Visual Studio 2022 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 2022 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 2022, 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 2022, 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 2022, 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 2022, 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 2022. 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 2022. 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 2022. Para manter esses aplicativos, continue a usar o Visual Studio 2015. |
Xamarin | A partir do Visual Studio 2022 17.11, o Xamarin está sem suporte. Em vez disso, os projetos do Xamarin devem ser atualizados para o .NET MAUI. |
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. 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. Para obter mais informações sobre os tipos de projeto compatíveis com o Visual Studio 2022, confira a página Direcionamento e Compatibilidade da Plataforma.
Às vezes, uma 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. (Nomeadamente diferentes canais do Visual Studio 2022, 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 SP1.) O Visual Studio 2022 tem como objetivo falhar de forma controlada com ativos de tempo de design obsoletos sem corrompê-los, de modo que 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 2022 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 2022 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.
Projetos anteriores ao MSBuild
Aviso
Os projetos .NET anteriores ao MSBuild (ou seja, projetos .NET criados com versões do Visual Studio anteriores ao MSBuild) são conversíveis somente quando você os atualiza com uma versão do Visual Studio até a versão 17.12 do Visual Studio. Os projetos não serão conversíveis ao usar o Visual Studio versão 17.13 ou posterior. Converta todos esses projetos que você ainda pode precisar agora com o Visual Studio 17.12 e armazene os resultados convertidos. Os outros formatos de projeto continuarão a ser conversíveis e as versões anteriores do Visual Studio continuarão a converter até mesmo arquivos de projeto anteriores ao MSBuild daqui para frente. No entanto, ainda é recomendável armazenar os resultados convertidos, pois em versões futuras do Visual Studio ou atualizações futuras de versões anteriores do Visual Studio (incluindo 2017 e 2019), restrições adicionais da funcionalidade de atualização podem ser aplicadas.