Referencia de migración y actualización de proyectos para Visual Studio 2017Project migration and upgrade reference for Visual Studio 2017

Cada nueva versión de Visual Studio suele ser compatible con la mayoría de los tipos anteriores de proyectos, archivos y otros activos.Each new version of Visual Studio generally supports most previous types of projects, files, and other assets. Puede trabajar con ellos igual que ha hecho hasta ahora y, siempre y cuando no dependa de las características más recientes, Visual Studio mantendrá por lo general la compatibilidad con versiones anteriores, como Visual Studio 2015, Visual Studio 2013 y Visual Studio 2012.You can work with them as you always have, and provided that you don't depend on newer features, Visual Studio generally tries to preserve backwards compatibility with previous versions like Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012. (Vea en Notas de la versión las funciones específicas de cada versión).(See the Release Notes for which features are specific to which versions.)

La compatibilidad con algunos tipos de proyecto también cambia a lo largo del tiempo.Support for some project types also changes over time. Una versión más reciente de Visual Studio podría no admitir ciertos proyectos o requerir la actualización de un proyecto, de forma que ya no sea compatible con versiones anteriores.A newer version of Visual Studio may no longer support certain projects at all, or requires updating a project such that it's no longer backwards compatible. Para obtener información actualizada sobre los problemas de migración, vea el sitio de la comunidad para desarrolladores de Visual Studio.For current status on migration issues, refer to the Visual Studio Developer Community site.

En el presente artículo se proporciona información solo para los tipos de proyectos de Visual Studio 2017 que se pueden migrar.This present article provides details only for project types that Visual Studio 2017 can migrate. En el artículo no se incluyen los tipos de proyecto que ya no se admiten en Visual Studio 2017 y, por tanto, no se pueden migrar.The article excludes project types that are no longer supported in Visual Studio 2017 and cannot therefore be migrated. Tampoco se incluyen los tipos de proyectos compatibles que no tienen problemas de migración. Esa lista se encuentra en Compatibilidad y destinatarios de la plataforma de Visual Studio 2017.The article also excludes supported project types that have no migration issues; that list is found on Platform Targeting and Compatibility.

Important

Determinados tipos de proyectos requieren la instalación de las cargas de trabajo adecuadas mediante el instalador de Visual Studio.Certain project types require installing the appropriate workloads through the Visual Studio installer. Si no tiene la carga de trabajo instalada, Visual Studio notifica que se trata de un tipo de proyecto incompatible o desconocido.If you don't have the workload installed, Visual Studio reports an unknown or incompatible project type. En ese caso, compruebe sus opciones de instalación y vuelva a intentarlo.In that case, check your installation options and try again. De nuevo, vea el artículo Compatibilidad y destinatarios de la plataforma de Visual Studio 2017 para obtener información sobre la compatibilidad de proyectos en Visual Studio 2017.Again, see the Platform Targeting and Compatibility article for details on project support in Visual Studio 2017.

Tipos de proyectoProject types

En la lista siguiente se describe la compatibilidad de Visual Studio 2017 con proyectos creados en versiones anteriores.The following list describes support in Visual Studio 2017 for projects that were created in earlier versions.

Si no encuentra un tipo de archivo o proyecto que debería mostrarse, consulte la versión de Visual Studio 2015 de este artículo y use la opción "Enviar comentarios de la documentación" al final de la página para proporcionar detalles de sus proyecto.If you don't see a project or file type listed here that should be, consult the Visual Studio 2015 version of this article and use the "Give documentation feedback" option at the bottom of this page to provide details of your project. (Si desea una respuesta, utilice los comentarios de la documentación en lugar del control anónimo "¿Le resulta útil esta(If you'd like a response, use the documentation feedback rather than the anonymous "Is this page helpful?" página?").control.)

Tipo de proyectoType of Project CompatibilidadSupport
Proyectos de .NET Core (.xproj).NET Core projects (xproj) Los proyectos creados con Visual Studio 2015 usaban las herramientas de vista previa, que incluían un archivo de proyecto xproj.Projects created with Visual Studio 2015 used preview tooling that included an xproj project file. Cuando abra un archivo xproj con Visual Studio 2017, se le pedirá que migre el archivo al formato csproj (se realiza una copia de seguridad del archivo xproj).When you open an xproj file with Visual Studio 2017, you are prompted to migrate the file to the csproj format (a backup of the xproj file is made). El formato .csproj para los proyectos de .NET Core no se admite en Visual Studio 2015 y versiones anteriores.This csproj format for .NET Core projects is not supported in Visual Studio 2015 and earlier. El formato xproj no se admite en Visual Studio 2017, a menos que sea para la migración a csproj.The xproj format is not supported in Visual Studio 2017 other than for migration to csproj. Para más información, consulte Migración de proyectos de .NET Core al formato csproj.For more information, see Migrating .NET Core projects to the csproj format.
Aplicación web ASP.NET y aplicación web ASP.NET Core con Application Insights habilitadoASP.NET Web Application and ASP.NET Core Web Application with Application Insights enabled Para cada usuario de Visual Studio, la información de los recursos se almacena en el Registro por instancia de usuario.For each Visual Studio user, resource information is stored in the registry per user instance. Esta información se usa cuando un usuario no tiene abierto un proyecto y quiere buscar datos de Azure Application Insights.This information is used when a user doesn't have a project opened and wants to search Azure Application Insights data. Visual Studio 2015 usa una ubicación del Registro diferente de la de Visual Studio 2017 y no entra en conflicto.Visual Studio 2015 uses different registry location than Visual Studio 2017 and does not conflict.

Una vez que un usuario crea una aplicación web ASP.NET o una aplicación web ASP.NET Core, el recurso se almacena en el archivo .suo.Once a user creates an ASP.NET Web Application or ASP.NET Core Web Application, the resource is stored in the .suo file. El usuario puede abrir el proyecto en Visual Studio 2015 o 2017 y la información de los recursos se usa para ambos, siempre y cuando Visual Studio sea compatible con los proyectos y las soluciones que se usan en las dos versiones.The user can open the project in Visual Studio 2015 or 2017 and the resource information is used for both as long as Visual Studio supports projects and solutions being used across both versions. Los usuarios deben autenticarse una vez en cada producto.Users need to authenticate once on each product. Por ejemplo, si un proyecto se ha creado con Visual Studio 2015 y se abre en Visual Studio 2017, el usuario debe autenticarse en Visual Studio 2017.For example, if a project is created with Visual Studio 2015 and opened in Visual Studio 2017, the user needs to authenticate on Visual Studio 2017.
Webform o Windows Forms de C#/Visual BasicC#/Visual Basic Webform or Windows Form Puede abrir el proyecto en Visual Studio 2017 y Visual Studio 2015.You can open the project in Visual Studio 2017 and Visual Studio 2015.
Proyectos de prueba unitaria de base de datos (csproj, vbproj)Database Unit Test Projects (csproj, .vbproj) Los proyectos de prueba unitaria de datos más antiguos se cargan en Visual Studio 2017, pero usan la versión con GAC de las dependencias.Older Data Unit test projects are loaded in Visual Studio 2017 but use the GAC'd version of dependencies. 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….To upgrade the unit test project to use the latest dependencies, right-click on the project in Solution Explorer and select Convert to SQL Server Unit Testing Project....
F#F# Visual Studio 2017 puede abrir proyectos creados en Visual Studio 2013 y 2015.Visual Studio 2017 can open projects created in Visual Studio 2013 and 2015. Para habilitar las características de Visual Studio 2017 en estos proyectos, abra las propiedades del proyecto y cambie el destino fsharp.core a F# 4.1.To enable Visual Studio 2017 features in these projects, however, open the project properties and change target fsharp.core to F# 4.1. Tenga en cuenta también que la opción Compatibilidad con el lenguaje F# en el instalador de Visual Studio no está seleccionada de manera predeterminada con cargas de trabajo de .NET; debe incluirla seleccionando esa opción para la carga de trabajo o seleccionándola desde la pestaña Componentes individuales en Actividades de desarrollo.Note also that the F# language support option in the Visual Studio installer is not selected by default with .NET workloads; you must include it by selecting that option for the workload, or selecting it from the Individual components tab under Development activities.
InstallShieldInstallShield
Programa de instalación de MSIMSI setup
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.Installer projects created in Visual Studio 2010 can be opened in later versions with the help of the Visual Studio Installer Projects extension. También puede ver la extensión de Visual Studio 2017 para WiX Toolset.Also see the WiX Toolset Visual Studio 2017 Extension. InstallShield Limited Edition ya no se incluye con Visual Studio.InstallShield Limited Edition is no longer included with Visual Studio. Consulte con Flexera Software la disponibilidad para Visual Studio 2017.Check with Flexera Software about availability for Visual Studio 2017.
LightSwitchLightSwitch LightSwitch ya no se admite en Visual Studio 2017.LightSwitch is no longer supported in 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.Projects created with Visual Studio 2012 and earlier opened in Visual Studio 2013 or Visual Studio 2015 are upgraded and can be opened only in Visual Studio 2013 or Visual Studio 2015 thereafter.
Microsoft Azure Tools para Visual StudioMicrosoft Azure Tools for Visual Studio Para abrir estos tipos de proyecto, instale primero el SDK de Azure para .NETy luego abra el proyecto.To open these types of projects, first install the Azure SDK for .NET, then open the project. Si es necesario, el proyecto se actualizará.If necessary, your project is updated.
Marco de trabajo Model-View-Controller (ASP.NET MVC)Model-View-Controller framework (ASP.NET MVC) Compatibilidad con versiones de MVC y Visual Studio:Support for MVC versions and Visual Studio:
  • Visual Studio 2010 SP1 admite MVC 2 y MVC 3. Se ha agregado compatibilidad con MVC 4 mediante la descarga de ASP.NET 4 MVC 4 para Visual Studio 2010 SP1.Visual Studio 2010 SP1 supports MVC 2 and MVC 3; MVC 4 support is added through the ASP.NET 4 MVC 4 for Visual Studio 2010 SP1 download
  • Visual Studio 2012 solo admite MVC 3 y MVC 4.Visual Studio 2012 supports only MVC 3 and MVC 4
  • Visual Studio 2013 solo admite MVC 4 y MVC 5.Visual Studio 2013 supports only MVC 4 and MVC 5
  • Visual Studio 2017 y Visual Studio 2015 admiten MVC 4 (puede abrir proyectos existentes, pero no crearlos) y MVC 5.Visual Studio 2017 and Visual Studio 2015 supports MVC 4 (you can open existing projects but not create new ones) and MVC 5

Actualización de versiones de MVC:Upgrading MVC versions:
ModeladoModeling Si permite que Visual Studio actualice el proyecto automáticamente, puede abrirlo en Visual Studio 2015, Visual Studio 2013 o Visual Studio 2012.If you allow Visual Studio to update the project automatically, you can open it in Visual Studio 2015, Visual Studio 2013, or Visual Studio 2012.

El formato del proyecto de modelado no ha cambiado entre Visual Studio 2015 y Visual Studio 2017, y el proyecto se puede abrir y modificar en cualquier versión.The format of the modeling project has not changed between Visual Studio 2015 and Visual Studio 2017 and the project can be opened and modified in either version. A pesar de todo, existen diferencias en el comportamiento de Visual Studio 2017:However, there are differences in behavior in Visual Studio 2017:
  • Los proyectos de modelado ahora se denominan proyectos de "Validación de dependencias" en los menús y las plantillas.Modeling projects are now referred to as "Dependency Validation" projects in the menus and templates.
  • Los diagramas UML ya no se admiten en Visual Studio 2017.UML diagrams are no longer supported in Visual Studio 2017. Los archivos UML se muestran en el Explorador de soluciones igual que antes, pero se abrirán como archivos XML.UML files are listed in the Solution Explorer as before but are opened as XML files. Use Visual Studio 2015 para ver, crear o editar los diagramas UML.Use Visual Studio 2015 to view, create, or edit UML diagrams.
  • En Visual Studio 2017, la validación de dependencias arquitectónicas ya no se lleva a cabo cuando se compila el proyecto de modelado,In Visual Studio 2017, validation of architectural dependencies is no longer performed when the modeling project is built. sino que se realiza a medida que se compila cada proyecto de código.Instead, validation is carried out as each code project is built. Este cambio no afecta al proyecto de modelado, pero requiere una serie de cambios en los proyectos de código que se están validando.This change does not affect the modeling project, but it does require changes to the code projects being validated. Visual Studio 2017 puede realizar automáticamente los cambios necesarios en los proyectos de código (más información).Visual Studio 2017 can automatically make the necessary changes to the code projects (more information).
Programa de instalación de MSI (vdproj)MSI Setup (vdproj) Vea Proyectos de InstallShield.See InstallShield Projects.
Office 2007 VSTOOffice 2007 VSTO Requiere una actualización unidireccional para Visual Studio 2017.Requires a one-way upgrade for Visual Studio 2017.
Office 2010 VSTOOffice 2010 VSTO Si el proyecto tiene como destino .NET Framework 4, puede abrirlo en Visual Studio 2010 SP1 y posterior.If the project targets the .NET Framework 4, you can open it in Visual Studio 2010 SP1 and later. Todos los demás proyectos requieren una actualización unidireccional.All other projects require a one-way upgrade.
Service Fabric (sfproj)Service Fabric (sfproj) Los proyectos de aplicación de Service Fabric se pueden abrir en Visual Studio 2015 o Visual Studio 2017, a menos que el proyecto de aplicación de Service Fabric haga referencia a un proyecto de servicio de ASP.NET Core.Service Fabric Application projects can be opened in either Visual Studio 2015 or Visual Studio 2017, unless the Service Fabric Application project references an ASP.NET Core service project. Los proyectos de Service Fabric de Visual Studio 2015 que se abren en Visual Studio de 2017 se migran de manera unidireccional del formato xproj al csproj.Service Fabric projects from Visual Studio 2015 that are opened in Visual Studio 2017 are one-way migrated from the xproj format to csproj. Consulte la sección "Proyectos de .NET Core (xproj)" anteriormente en esta tabla.See ".NET Core projects (xproj)" earlier in this table.
SharePoint 2010SharePoint 2010 Cuando se abra un proyecto de solución de SharePoint con Visual Studio 2017, se actualizará a SharePoint 2013 o SharePoint 2016.When a SharePoint solution project is opened with Visual Studio 2017, it's upgraded to either SharePoint 2013 or SharePoint 2016. La carga de trabajo "Desarrollo de escritorio de .NET" debe instalarse en Visual Studio 2017 para la actualización.The ".NET Desktop Development" workload must be installed in Visual Studio 2017 for the upgrade.

Para más información sobre cómo actualizar proyectos de SharePoint, vea Actualizar a SharePoint 2013, Actualizar flujo de datos en SharePoint Server 2013 y Crear la granja de servidores de SharePoint Server 2016 para una actualización de agregación de base de datos.For more information about how to upgrade SharePoint projects, see Upgrade to SharePoint 2013, Update Workflow in SharePoint Server 2013, and Create the SharePoint Server 2016 farm for a database attach upgrade.
SharePoint 2016SharePoint 2016 Los proyectos Complemento de SharePoint creados en Office Developer Tools Preview 2 no se puede abrir en Visual Studio 2017.SharePoint Add-In projects created in Office Developer Tools Preview 2 cannot be opened in Visual Studio 2017. Como solución alternativa a esta limitación, actualice MinimumVisualStudioVersion a 12.0 y MinimumOfficeToolsVersion a 12.2 en el archivo csproj o vbproj.To work around this limitation, update the MinimumVisualStudioVersion to 12.0 and MinimumOfficeToolsVersion to 12.2 in the csproj vbproj file.
SilverlightSilverlight Los proyectos de Silverlight no se admiten en Visual Studio 2017.Silverlight projects not supported in Visual Studio 2017. Para conservar las aplicaciones de Silverlight, siga usando Visual Studio 2015.To maintain Silverlight applications, continue to use Visual Studio 2015.
SQL Server Reporting Services y SQL Server Analysis Services (SSRS, SSDT, SSAS, MSAS)SQL Server Reporting Services and 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 modelado de Microsoft Analysis Services y Proyectos de Microsoft Reporting Services.Support for these project types is provided through two extensions in the Visual Studio Gallery: Microsoft Analysis Services Modeling Projects and Microsoft Reporting Services Projects. También se incluye la compatibilidad de SSDT con el almacenamiento de datos y la carga de trabajo de procesamiento en Visual Studio 2017.SSDT support is also included with the Data Storage and Processing workload in Visual Studio 2017.
SQL Server Integration Services (SSIS)SQL Server Integration Services (SSIS) La compatibilidad con Visual Studio 2017 está disponible mediante SQL Server Data Tools (SSDT).Support for Visual Studio 2017 is available through the SQL Server Data Tools (SSDT). Para obtener más información, consulte el blog de SQL Server Integration Services.For more information, see the SQL Server Integration Services blog.
Visual C++Visual C++ Puede usar Visual Studio 2017 para trabajar en proyectos creados en versiones anteriores de Visual Studio hasta Visual Studio 2010.You can use Visual Studio 2017 to work in projects that were created in earlier versions of Visual Studio back to 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.When you first open the project, you have the option to upgrade to the latest compiler and toolset or to continue using the original ones. Si elige seguir usando los originales, Visual Studio 2017 no modifica el archivo del proyecto y usa el conjunto de herramientas de la instalación anterior de Visual Studio para compilar el proyecto.If you choose to keep using the original ones, Visual Studio 2017 does not modify the project file, and uses the toolset from the earlier Visual Studio installation to build your project. Mantener las opciones originales significa que todavía puede abrir el proyecto en la versión original de Visual Studio si es necesario.Keeping the original options means you can still open the project in the original version of Visual Studio if necessary. 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).For more information, see Use native multi-targeting in Visual Studio to build old projects.
Extensibilidad de Visual Studio/VSIXVisual Studio Extensibility/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.Projects with MinimumVersion 14.0 or less are updated to declare MinimumVersion 15.0, which prevents the project from being opened in earlier versions of Visual Studio. Para permitir que un proyecto se abra en versiones anteriores, establezca MinimumVersion en $(VisualStudioVersion).To allow a project to open in earlier versions, set MinimumVersion to $(VisualStudioVersion). Vea también How to: Migrate Extensibility Projects to Visual Studio 2017 (Cómo: Migrar proyectos de extensibilidad a Visual Studio 2017).See also How to: Migrate Extensibility Projects to Visual Studio 2017.
Visual Studio Lab ManagementVisual 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.You can use Microsoft Test Manager or Visual Studio 2010 SP1 and later to open environments created in any of these versions. 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.However, for Visual Studio 2010 SP1 the version of Microsoft Test Manager must match the version of Team Foundation Server before you can create environments.
Visual Studio Tools para Apache CordovaVisual Studio Tools for Apache Cordova Los proyectos se pueden abrir en Visual Studio 2017, pero no son compatibles con versiones anteriores.Projects can be opened in Visual Studio 2017, but are not backwards compatible. Al abrir un proyecto de Visual Studio 2015, se le pedirá que permita realizar modificaciones en el proyecto.Upon opening a project from Visual Studio 2015, you're prompted to allow modifications to your project. Esta modificación actualiza el proyecto para que use conjuntos de herramientas en lugar de un archivo taco.json para administrar el control de versiones de la biblioteca de Cordova, sus plataformas, complementos y dependencias de nodo/npm.This modification upgrades the project to use toolsets instead of a taco.json file to manage the versioning of the Cordova library, its platforms, its plugins, and its node/npm dependencies. Vea la guía de migración para obtener más información.See the migration guide for more information.
Implementación web (wdproj)Web Deployment (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.Support for Web Deployment projects was removed in Visual Studio 2012 with the addition of publish profile support. Debido a que no hay un equivalente en Visual Studio 2017, no existe una ruta de migración automática para estos proyectos.Because there is no equivalent in Visual Studio 2017, there is no automatic migration path for such projects. 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.Instead, open the wdproj file in a text editor and copy-paste any customizations into to the pubxml (publish profile) file, as described on StackOverflow. Consulte también Plans regarding website and web deployment projects (MSDN blogs) (Planes relacionados con proyectos de sitios web y de implementación web [blogs de MSDN]).Also see Plans regarding website and web deployment projects (MSDN blogs).
Windows Communication Foundation y Windows Workflow FoundationWindows Communication Foundation, Windows Workflow Foundation Puede abrir este proyecto en Visual Studio 2017, Visual Studio 2015, Visual Studio 2013 y Visual Studio 2012.You can open this project in Visual Studio 2017, Visual Studio 2015, Visual Studio 2013, and Visual Studio 2012
Windows Presentation FoundationWindows Presentation Foundation Puede abrir este proyecto en Visual Studio 2013, Visual Studio 2012 y Visual Studio 2010 SP1.You can open this project in Visual Studio 2013, Visual Studio 2012, and Visual Studio 2010 SP1.
Aplicaciones de la Tienda Windows/Windows PhoneWindows Store/Phone apps Los proyectos para la Tienda Windows 8.1 y 8.0 y Windows Phone 8.1 y 8.0 no son compatibles con Visual Studio 2017.Projects for Windows Store 8.1 and 8.0, and Windows Phone 8.1 and 8.0 are not supported in Visual Studio 2017. Para conservar estas aplicaciones, siga usando Visual Studio 2015.To maintain these apps, continue to use Visual Studio 2015. Para conservar los proyectos de Windows Phone 7.x, use Visual Studio 2012.To maintain Windows Phone 7.x projects, use Visual Studio 2012.

Cómo decide Visual Studio el momento de migrar un proyectoHow Visual Studio decides when to migrate a project

Por lo general, las nuevas versiones de Visual Studio procuran mantener la compatibilidad con versiones anteriores para que, por ejemplo, un mismo proyecto se pueda abrir, modificar y compilar en distintas versiones.Each new version of Visual Studio generally seeks to maintain compatibility with previous versions, such that the same project can be opened, modified, and built across different versions. A pesar de ello, a lo largo del tiempo se producen cambios inevitables que hacen que algunos tipos de proyecto dejen de ser compatibles.However, there are inevitable changes over time such that some project types may no longer be supported. (Consulte Compatibilidad y destinatarios de la plataforma para ver los tipos de proyecto admitidos en Visual Studio de 2017). En estos casos, la versión más reciente de Visual Studio no podrá cargar el proyecto y no ofrecerá una ruta de migración. Por tanto, es necesario mantener ese proyecto en una versión anterior de Visual Studio que sí lo admita.(See Platform Targeting and Compatibility for which project types are supported in Visual Studio 2017.) In these cases, a newer version of Visual Studio won't load the project and doesn't offer a migration path; you need to maintain that project in a previous version of Visual Studio that does support it.

En otros casos, la 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.In other cases, the newer version of Visual Studio can open a project, but must update or migrate the project in such a way that might render it incompatible with previous versions. Visual Studio usa una serie de criterios para determinar si es necesaria dicha migración:Visual Studio uses a number of criteria to determine whether such migration is necessary:

  • Compatibilidad con las versiones de las plataformas de destino, hasta Visual Studio 2013 RTM.Compatibility with the target versions of platforms, back to Visual Studio 2013 RTM.

  • Compatibilidad de los recursos de tiempo de diseño con versiones anteriores de Visual Studio.Compatibility of design-time assets with previous versions of Visual Studio. (Es decir, distintos canales de Visual Studio 2017; Visual Studio 2015 RTM y Update 3; Visual Studio 2013 RTM y Update 5; Visual Studio 2012 Update 4; Visual Studio 2010 SP 1). Visual Studio 2017 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.(Namely different channels of Visual Studio 2017; Visual Studio 2015 RTM & Update 3; Visual Studio 2013 RTM & Update 5; Visual Studio 2012 Update 4; Visual Studio 2010 SP 1.) Visual Studio 2017 aims to fail gracefully with deprecated design-time assets without corrupting them, such that previous versions can still open the project.

  • Si los nuevos recursos de tiempo de diseño interrumpen la compatibilidad con versiones anteriores a Visual Studio 2013 RTM y Update 5.Whether new design time assets would break compatibility with previous versions down to Visual Studio 2013 RTM & Update 5.

El propietario de ingeniería del tipo de proyecto en cuestión examina estos criterios y toma la decisión en cuanto al soporte técnico, la compatibilidad y la migración.The engineering owner of the project type in question looks at these criteria and makes the call where support, compatibility, and migration are concerned. De nuevo, Visual Studio intenta mantener una compatibilidad transparente entre las versiones de Visual Studio siempre que sea posible, lo que significa que se pueden crear y modificar proyectos en una versión de Visual Studio y que funcionen en otras versiones.Again, Visual Studio tries to maintain transparent compatibility between Visual Studio versions if possible, meaning that one can create and modify projects in one version of Visual Studio and it just works in other versions.

Si dicha compatibilidad no es posible, como sucede con algunos de los tipos de proyecto que se describen en este artículo, entonces Visual Studio abre el asistente de actualización para realizar los cambios unidireccionales que sean necesarios.If such compatibility is not possible, however, as with some of the project types described in this article, then Visual Studio opens the upgrade wizard to make the necessary one-way changes.

Los 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.Such one-way changes may involve changing the ToolsVersion property in the project file, which denotes exactly which version of MSBuild can turn the project's source code into runnable and deployable artifacts that you ultimately want. Es decir, lo que hace que un proyecto sea incompatible con versiones anteriores de Visual Studio no es la versión de Visual Studio, sino la versión de MSBuild, tal como determina ToolsVersion.That is, what renders a project incompatible with previous versions of Visual Studio is not the Visual Studio version, but the MSBuild version, as determined by ToolsVersion. Siempre y cuando la versión de Visual Studio contenga la cadena de herramientas de MSBuild que coincida con la propiedad ToolsVersion de un proyecto, Visual Studio puede invocar esa cadena de herramientas para compilar el proyecto.So long as your version of Visual Studio contains the MSBuild toolchain that matches the ToolsVersion in a project, then Visual Studio can invoke that toolchain to build the project.

Para mantener la máxima compatibilidad con los proyectos creados en versiones anteriores, Visual Studio 2017 incluye las cadenas de herramientas de MSBuild necesarias para admitir ToolsVersion 15, 14, 12 y 4.To maintain maximum compatibility with projects created in older versions, Visual Studio 2017 includes the necessary MSBuild toolchains to support ToolsVersion 15, 14, 12, and 4. Los proyectos que usan cualquiera de estos valores de ToolsVersion deberían dar como resultado una compilación correcta.Projects that use any of these ToolsVersion values should result in a successful build. (De nuevo, dependerá de si Visual Studio 2017 admite el tipo de proyecto, tal como se describe en Compatibilidad y destinatarios de la plataforma).(Subject, again, to whether Visual Studio 2017 supports the project type at all, as described on Platform Targeting and Compatibility.)

En este contexto, lo normal es que surja la pregunta de si se debe intentar actualizar manualmente o migrar un proyecto a un valor más reciente de ToolsVersion.In this context, the question naturally arises whether you should try to manually update or migrate a project to a newer ToolsVersion value. Realizar un cambio de este tipo no es necesario, y probablemente generaría muchos errores y advertencias que habría que corregir para que el proyecto se compilase de nuevo.Making such a change is unnecessary, and would likely generate many errors and warnings that you'd need to fix to get the project to build again. Además, si Visual Studio deja de ser compatible con un determinado valor de ToolsVersion en el futuro, cuando se abra el proyecto se desencadenará el proceso de migración del proyecto porque será necesario cambiar el valor de ToolsVersion.Furthermore, if Visual Studio drops support for a specific ToolsVersion in the future, then opening the project will trigger the project migration process specifically because the ToolsVersion value must be changed. En tal caso, el subsistema de ese tipo de proyecto específico sabe exactamente qué es lo que debe cambiarse y puede realizar los cambios de manera automática, tal como se ha descrito anteriormente en este artículo.In such a case, the subsystem for that specific project type knows exactly what needs to be changed, and can make those changes automatically as described earlier in this article.

Consulte los artículos siguientes para obtener más información:Refer to the following articles for further discussion: