Portar, migrar y actualizar proyectos de Visual Studio 2022
Sugerencia
Vea las grabaciones del evento de lanzamiento de Visual Studio 2022 para obtener información sobre las novedades, escuchar sugerencias y trucos y descargar recompensas virtuales gratuitas.
Developer Community | Hoja de ruta de Visual Studio 2022 | Requisitos del sistema | Compatibilidad | Código distribuible | Historial de versiones | Términos de licencia | Blogs | Últimos problemas conocidos de la versión | Novedades de Visual Studio Docs
Cada nueva versión de Visual Studio suele admitir la mayoría de los tipos anteriores de proyectos, archivos y otros recursos. Puede trabajar con ellos como siempre ha hecho, siempre y cuando no dependa de las características más recientes.
Se intenta mantener la compatibilidad con versiones anteriores, como Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 y Visual Studio 2012. Sin embargo, la compatibilidad con algunos tipos de proyecto cambia con el tiempo. Es posible que una versión más reciente de Visual Studio no admita ciertos proyectos o que requiera la actualización de un proyecto de forma que ya no sea compatible con versiones anteriores.
Nota
Para obtener información actualizada sobre los problemas de migración, consulte la comunidad para desarrolladores de Visual Studio. Y para obtener más información sobre qué características son específicas de la versión de Visual Studio, consulte las notas de la versión.
Importante
Algunos tipos de proyecto requieren cargas de trabajo específicas. Si no tiene la carga de trabajo instalada, Visual Studio notifica que se trata de un tipo de proyecto incompatible o desconocido. En ese caso, compruebe las opciones de instalación en el Instalador de Visual Studio y vuelva a intentarlo. Para obtener información sobre la compatibilidad de proyectos en Visual Studio 2022, consulte el artículo Compatibilidad y destinatarios de la plataforma de Visual Studio 2019.
Tipos de proyecto
En la lista siguiente se describe la compatibilidad de Visual Studio 2022 con los proyectos creados en versiones anteriores.
Si no ve un tipo de archivo o proyecto que debería estar incluido aquí, vea la versión para Visual Studio 2019 de este artículo. También puede usar el botón Enviar comentarios acerca de>Esta página situado en la parte inferior de esta página para proporcionar detalles del proyecto. (Si usa el control anónimo "¿Le resulta útil esta página?", no podemos responder a sus comentarios).
Tipo de proyecto | Soporte técnico |
---|---|
Proyectos de .NET Core (.xproj) | Los proyectos creados con Visual Studio 2015 usaban las herramientas de vista previa, que incluían un archivo de proyecto xproj. Visual Studio 2017: el formato xproj no se admite si no es para la migración al formato csproj. Al abrir un archivo xproj, se le pide que migre el archivo al formato csproj de estilo SDK. (Se realiza una copia de seguridad del archivo xproj). Los proyectos csproj de estilo SDK no se admiten en Visual Studio 2015 y versiones anteriores. Visual Studio 2019: En la versión 16.3 y posterior, no se pueden cargar ni migrar proyectos xproj. Para más información, consulte Migración de proyectos de .NET Core al formato csproj. |
Aplicación web ASP.NET Core y aplicaicón web ASP.NET Core con Application Insights habilitado | Para cada usuario de Visual Studio, la información de los recursos se almacena en el Registro por instancia de usuario. Esta información se usa cuando un usuario no tiene abierto un proyecto y quiere buscar datos de Azure Application Insights. En Visual Studio 2015 se usa una ubicación del Registro diferente a la de Visual Studio 2017, Visual Studio 2019 y Visual Studio 2022, y no entra en conflicto. Una vez que un usuario crea una aplicación web ASP.NET, una aplicación web ASP.NET Core o una aplicación web ASP.NET Core, el recurso se almacena en el archivo .suo. El usuario puede abrir el proyecto en Visual Studio 2015, Visual Studio 2017, Visual Studio 2019 o Visual Studio 2022, y la información del recurso se usa para cada uno de ellos, siempre y cuando Visual Studio sea compatible con los proyectos y las soluciones que se usan en las dos versiones. Los usuarios deben autenticarse una vez en cada producto. Por ejemplo, si un proyecto se ha creado con Visual Studio 2017 y se ha abierto en Visual Studio 2022, el usuario se debe autenticar en Visual Studio 2022. |
Webform o Windows Forms de C#/Visual Basic | Puede abrir este proyecto en Visual Studio 2022, Visual Studio 2019, Visual Studio 2017 y Visual Studio 2015. |
Prueba automatizada de IU | La prueba automatizada de IU para pruebas funcionales controladas por la interfaz de usuario está en desuso en Visual Studio 2019. Visual Studio 2019 será la última versión de Prueba automatizada de IU. Se recomienda usar Selenium para probar aplicaciones web, y Appium con WinAppDriver para probar aplicaciones de escritorio y para UWP. |
Proyectos de prueba unitaria de base de datos (csproj, vbproj) | Los proyectos de prueba unitaria de datos más antiguos se cargan en Visual Studio 2019, pero usan la versión con GAC de las dependencias. Para actualizar el proyecto de prueba unitaria de modo que use las dependencias más recientes, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Convertir en proyecto de prueba unitaria de SQL Server… . |
F# | Visual Studio 2019 puede abrir proyectos creados en Visual Studio 2013, Visual Studio 2015 y Visual Studio 2017. Una diferencia fundamental con respecto a las plantillas de Visual Studio anteriores para los nuevos proyectos es que la versión de FSharp.Core ahora es siempre un paquete NuGet. F# se instala de forma predeterminada con cualquier carga de trabajo de .NET. |
InstallShield Programa de instalación de MSI |
Los proyectos de instalador creados en Visual Studio 2010 se pueden abrir en versiones posteriores con la ayuda de la extensión de proyectos del Instalador de Visual Studio. También puede ver la extensión de Visual Studio 2017 para WiX Toolset. InstallShield Limited Edition ya no se incluye con Visual Studio. Consulte con Revenera sobre la disponibilidad para Visual Studio 2022. |
LightSwitch | LightSwitch ya no se admite en Visual Studio 2022, Visual Studio 2019 ni Visual Studio 2017. Los proyectos creados con Visual Studio 2012 y versiones anteriores que se abran en Visual Studio 2013 o Visual Studio 2015 se actualizarán y solo se podrán abrir en Visual Studio 2013 o Visual Studio 2015 a partir de entonces. |
Prueba de carga | Las funciones de rendimiento web y prueba de carga están en desuso en Visual Studio 2019. Visual Studio 2019 será la última versión para la prueba de carga. Use herramientas de prueba de carga alternativas como Apache JMeter, Akamai CloudTest o Blazemeter. |
Microsoft Azure Tools para Visual Studio | Para abrir estos tipos de proyecto, instale primero el SDK de Azure para .NETy luego abra el proyecto. Si es necesario, el proyecto se actualizará. |
Microsoft Test Manager | A partir de Visual Studio 2019, Microsoft Test Manager y Feedback Client ya no se distribuyen con Visual Studio. Aproveche Azure Test Plans (parte de Azure DevOps) para sus necesidades de pruebas manuales y exploratorias. |
Marco de trabajo Model-View-Controller (ASP.NET MVC) | Compatibilidad con versiones de MVC y Visual Studio:
Actualización de versiones de MVC:
|
Modelado | Si permite que Visual Studio actualice el proyecto automáticamente, puede abrirlo en Visual Studio 2015, Visual Studio 2013 o Visual Studio 2012. El formato del proyecto de modelado no ha cambiado desde Visual Studio 2015 y el proyecto se puede abrir y modificar en estas versiones. Pero existen diferencias en el comportamiento de Visual Studio 2017 y Visual Studio 2019:
|
Programa de instalación de MSI (vdproj) | Consulte la sección InstallShield de esta página. |
Office 2007 VSTO | Se necesita una actualización unidireccional para Visual Studio 2022. |
Office 2010 VSTO | Si el proyecto tiene como destino .NET Framework 4, puede abrirlo en Visual Studio 2010 SP1 y posterior. Todos los demás proyectos requieren una actualización unidireccional. |
Biblioteca de clases portable (PCL) | Ahora no se admiten las bibliotecas de clases portables (o PCL). En Visual Studio 2019 todavía se pueden abrir y compilar, pero no es posible crear proyectos PCL. Se recomienda migrar el código de un proyecto PCL a un proyecto de .NET Standard. La compatibilidad con PCL ya no se incluirá de forma predeterminada, pero estará disponible en la pestaña "Componentes individuales" de Visual Studio. |
Carga de trabajo de Python | En Visual Studio 2019 se ha quitado la compatibilidad con aplicaciones Python de Windows IoT Core. Como no hay equivalente en Visual Studio 2022, no existe una ruta de migración automática para estos proyectos. Puede seguir usando Visual Studio 2017. |
R Tools para Visual Studio | En Visual Studio 2019 se ha quitado Herramientas de R para Visual Studio de la carga de trabajo de ciencia de datos. Puede seguir usando Visual Studio 2017 o alternativas como RStudio. |
Service Fabric (sfproj) | Los proyectos de aplicación de Service Fabric creados en Visual Studio 2017 o Visual Studio 2019 se pueden abrir en Visual Studio 2022 sin cambios. Los proyectos de aplicación de Service Fabric creados en Visual Studio 2022 sin usar la opción Optimizar el diseño del proyecto para la implementación de ARM se pueden abrir en Visual Studio 2019 16.5 o posterior. Los proyectos de aplicación de Service Fabric creados en Visual Studio 2022 usando la opción Optimizar el diseño del proyecto para la implementación de ARM se pueden abrir en Visual Studio 2019 16.10 o posterior. |
SharePoint 2010 | Cuando se abra un proyecto de solución de SharePoint con Visual Studio 2022, se actualiza a SharePoint 2016 o SharePoint 2019. La carga de trabajo "Desarrollo de escritorio de .NET" se debe instalar en Visual Studio para la actualización. Para obtener más información sobre cómo actualizar proyectos de SharePoint, vea Actualización de SharePoint. |
SharePoint 2016 | Los proyectos de complemento de SharePoint creados en Office Developer Tools Preview 2 no se pueden abrir en Visual Studio 2022. Como solución alternativa a esta limitación, actualice MinimumVisualStudioVersion a 12.0 y MinimumOfficeToolsVersion a 12.2 en el archivo csproj o vbproj. |
Silverlight | Los proyectos de Silverlight no se admiten en Visual Studio 2022. Para conservar las aplicaciones de Silverlight, siga usando Visual Studio 2015. |
SQL: Redgate | SQL Change Automation Core de Redgate (anteriormente denominado ReadyRoll Core), SQL Prompt Core y SQL Search ya no se incluyen en el instalador de Visual Studio. Puede seguir usando Visual Studio 2017 para estas características. En Visual Studio 2019, puede actualizar a los productos de pago SQL Change Automation y SQL Prompt que están disponibles en SQL Toolbelt de Redgate. |
SQL Server Reporting Services y SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS) | La compatibilidad con estos tipos de proyectos se proporciona mediante dos extensiones en la Galería de Visual Studio: Proyectos de Microsoft Analysis Services y Proyectos de Microsoft Reporting Services. También se incluye la compatibilidad de SSDT con el almacenamiento de datos y la carga de trabajo de procesamiento en Visual Studio 2019. Para más información, vea la página Descargar e instalar SQL Server Data Tools (SSDT) para Visual Studio. |
SQL Server Integration Services (SSIS) | La extensión Proyectos de SQL Server Integration Services está disponible con carácter general para Visual Studio 2022. Descárguela desde Proyectos de SQL Server Integration Services 2022: Visual Studio Marketplace y consulte la guía de solución de problemas para obtener una guía de solución de problemas. |
Extensión de ventana de prueba | En Visual Studio 2019, se han quitado algunas API de la ventana de prueba que anteriormente estaban marcadas como públicas, pero que nunca se documentaron oficialmente. Las API con gran visibilidad se han marcado como en desuso en Visual Studio 2017 para proporcionar una advertencia prematura a los mantenedores de extensiones. Que nosotros sepamos, pocas extensiones han tomado una dependencia en estas API. Para obtener más información y actualizaciones, vea la lista completa de API en desuso relacionadas con pruebas. Si esto afecta a su escenario, háganoslo saber a través de Visual Studio Developer Community. |
TypeScript | TypeScript SDK ha dejado de usarse en Visual Studio 2022 y ya no se instala de forma predeterminada en ninguna carga de trabajo. Los proyectos que compilan código de TypeScript deben instalar el paquete NuGet Microsoft.TypeScript.MSBuild. Para poder seguir trabajando en los proyectos que no se pueden actualizar de forma inmediata, TypeScript SDK sigue estando disponible como componente opcional en el instalador de Visual Studio y en Visual Studio Marketplace. |
Visual C++ | Puede usar Visual Studio 2022 para trabajar en proyectos creados en versiones anteriores de Visual Studio hasta Visual Studio 2010. Cuando abre el archivo por primera vez, tiene la opción de actualizar al conjunto de herramientas y al compilador más recientes o de continuar usando los originales. Si opta por seguir usando los originales, Visual Studio 2022 no modifica el archivo del proyecto y usa el conjunto de herramientas de la instalación anterior de Visual Studio para compilar el proyecto. Mantener las opciones originales significa que todavía puede abrir el proyecto en la versión original de Visual Studio si es necesario. Para obtener más información, vea Use native multi-targeting in Visual Studio to build old projects (Usar compatibilidad nativa con múltiples versiones en Visual Studio para compilar proyectos antiguos). |
Extensibilidad de Visual Studio/VSIX | Los proyectos con MinimumVersion 14.0 o menos se actualizarán para que declaren MinimumVersion 15.0, lo que impide que el proyecto se abra en versiones anteriores de Visual Studio. Para permitir que un proyecto se abra en versiones anteriores, establezca MinimumVersion en $(VisualStudioVersion) . Vea también Cómo: Migrar proyectos de extensibilidad a Visual Studio 2017. |
Visual Studio Lab Management | Puede usar Microsoft Test Manager o Visual Studio 2010 SP1 y versiones posteriores para abrir entornos creados en cualquiera de estas versiones. En el caso de Visual Studio 2010 SP1, la versión de Microsoft Test Manager debe coincidir con la versión de Team Foundation Server para poder crear entornos. (Importante: Team Foundation Server, o TFS, ahora se conoce como Azure DevOps Server). |
Visual Studio Tools para Apache Cordova | En Visual Studio 2019 se ha quitado la compatibilidad con Apache Cordova. Como no hay equivalente en Visual Studio 2022, no existe una ruta de migración automática para estos proyectos. Puede usar la extensión Herramientas de Cordova para Visual Studio Code (que proporciona compatibilidad para la versión más reciente de Cordova) o seguir usando Visual Studio 2017. |
Implementación web (wdproj) | La compatibilidad de los proyectos de implementación web se ha retirado de los proyectos de Visual Studio 2012 con la adición de la compatibilidad del perfil de publicación. Como no hay equivalente en Visual Studio 2022, no existe una ruta de migración automática para estos proyectos. En su lugar, abra el archivo wdproj en un editor de texto y copie y pegue cualquier personalización en el archivo pubxml (perfil de publicación), tal como se describe en StackOverflow. |
Windows Communication Foundation y Windows Workflow Foundation | Puede abrir este proyecto en Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 y Visual Studio 2012. |
Windows Presentation Foundation | Puede abrir este proyecto en Visual Studio 2022, Visual Studio 2019, Visual Studio 2017, Visual Studio 2013, Visual Studio 2012 y Visual Studio 2010 SP1. |
Aplicaciones de Windows Phone | En Visual Studio 2022 no se admiten los proyectos para Windows Phone. Para conservar los aplicaciones de Windows Phone 8.x, use Visual Studio 2015. Para conservar los proyectos de Windows Phone 7.x, use Visual Studio 2012. |
Aplicaciones de la Tienda Windows | En Visual Studio 2022 no se admiten proyectos de la Plataforma universal de Windows para JavaScript. Para mantener estos proyectos, use Visual Studio 2017. Los SDK de Windows 10 anteriores a Windows 10 Fall Creators Update (compilación 16299) se han quitado del instalador de Visual Studio 2019. Puede descargar manualmente los SDK anteriores o redestinar los proyectos para usar los SDK más recientes. No se admiten los proyectos Windows universal con project.json. Se recomienda actualizar estos proyectos para que usen referencias de paquete. Como alternativa, puede agregar una referencia a la versión 16.0.0.0 de Microsoft.NET.Test.Sdk en el archivo project.json. En Visual Studio 2022 no se admiten los proyectos para Microsoft Store 8.1 y 8.0. Para conservar estas aplicaciones, siga usando Visual Studio 2015. |
Xamarin | A partir de Visual Studio 2022 17.11, Xamarin no es compatible. En su lugar, los proyectos de Xamarin deben actualizarse a .NET MAUI. |
Migración de un proyecto
Aunque intentamos mantener la compatibilidad con versiones anteriores, puede haber cambios que no sean compatibles con versiones anteriores. Cuando esto sucede, la versión más reciente de Visual Studio no cargará el proyecto ni ofrecerá una ruta de migración. Es posible que tenga que conservar ese proyecto en una versión anterior de Visual Studio. Para obtener información sobre los tipos de proyecto que se admiten en Visual Studio 2022, consulte el artículo Compatibilidad y destinatarios de la plataforma de Visual Studio 2019.
A veces, una versión más reciente de Visual Studio puede abrir un proyecto, pero con el inconveniente de que debe actualizarlo o migrarlo de forma que deja de ser compatible con versiones anteriores. Visual Studio usa los siguientes criterios para determinar si es necesaria dicha migración:
Compatibilidad con las versiones de las plataformas de destino, hasta Visual Studio 2013 RTM.
Compatibilidad de los recursos de tiempo de diseño con versiones anteriores de Visual Studio. (Es decir, distintos canales de Visual Studio 2022, Visual Studio 2019; Visual Studio 2017, Visual Studio 2015 RTM y Update 3; Visual Studio 2013 RTM y Update 5; Visual Studio 2012 Update 4 y Visual Studio 2010 SP1). Visual Studio 2022 procura generar un error con los recursos de tiempo de diseño en desuso sin dañarlos, de modo que el proyecto aún se pueda abrir en versiones anteriores.
Si los nuevos recursos de tiempo de diseño interrumpen la compatibilidad con versiones anteriores a Visual Studio 2013 RTM y Update 5.
El equipo de ingeniería que posee el tipo de proyecto examina estos criterios y toma la decisión en cuanto al soporte técnico, la compatibilidad y la migración. De nuevo, intentamos mantener una compatibilidad transparente entre las versiones de Visual Studio, de modo que cuando cree y modifique proyectos en una versión de Visual Studio, funcionen en otras versiones.
A veces, no es posible la compatibilidad. Después, Visual Studio abre el asistente para actualización para realizar los cambios unidireccionales necesarios. Estos cambios unidireccionales pueden implicar el cambio de la propiedad ToolsVersion
en el archivo de proyecto. Esta propiedad indica exactamente qué versión de MSBuild puede convertir el código fuente del proyecto en los artefactos ejecutables e implementables deseados.
Lo que hace que un proyecto no sea compatible con versiones anteriores de Visual Studio no es la versión de Visual Studio, sino la versión de MSBuild, tal como determina ToolsVersion
. Si la versión de Visual Studio contiene la cadena de herramientas de MSBuild que coincide con la propiedad ToolsVersion
de un proyecto, Visual Studio puede invocar esa cadena de herramientas para compilar el proyecto.
Para mantener la compatibilidad con los proyectos creados en versiones anteriores, Visual Studio 2022 incluye las cadenas de herramientas de MSBuild necesarias para admitir ToolsVersion
15, 14, 12 y 4. Los proyectos que usan cualquiera de estos valores de ToolsVersion
deberían dar como resultado una compilación correcta. (De nuevo, depende de si Visual Studio 2022 admite el tipo de proyecto, como se explica en Compatibilidad y destinatarios de la plataforma).
Es posible que se sienta tentado a actualizar manualmente o a migrar un proyecto a un valor de ToolsVersion
más reciente. No es necesario realizar este cambio y probablemente generaría muchos errores y advertencias que habría que corregir para que el proyecto se compilase de nuevo. Además, si Visual Studio no es compatible con un valor de ToolsVersion
específico en el futuro, el proyecto desencadena el proceso de migración del proyecto al abrirlo porque se debe cambiar su valor ToolsVersion
.
Proyectos anteriores a MSBuild
Advertencia
Los proyectos de .NET anteriores a MSBuild (es decir, proyectos de .NET creados con versiones de Visual Studio anteriores a MSBuild) solo se pueden convertir cuando se actualizan con una versión de Visual Studio hasta la versión 17.12 de Visual Studio. Los proyectos no se podrán convertir al usar Visual Studio versión 17.13 o posterior. Convierta ahora los proyectos que pueda seguir necesitando con Visual Studio 17.12 y guarde los resultados convertidos. Los demás formatos de proyecto seguirán siendo convertibles y las versiones anteriores de Visual Studio seguirán convirtiendo incluso los archivos de proyecto anteriores a MSBuild en el futuro. Sin embargo, se recomienda almacenar los resultados convertidos, como en versiones futuras de Visual Studio o actualizaciones futuras de versiones anteriores de Visual Studio (incluidas 2017 y 2019), podrían aplicarse restricciones adicionales de la funcionalidad de actualización.