Actualización de proyectos de C++ desde versiones anteriores de Visual Studio

Para actualizar un proyecto creado en una versión anterior de Visual Studio, solo tiene que abrir el proyecto en la versión más reciente de Visual Studio. Visual Studio ofrece actualizar el proyecto al esquema actual.

Si elige No, el proyecto no se actualiza. Para los proyectos creados en Visual Studio 2010 y versiones posteriores, todavía puede usar el proyecto en la versión más reciente de Visual Studio. Solo tiene que establecer las propiedades del proyecto para seguir teniendo como destino el conjunto de herramientas anterior. Si deja la versión anterior de Visual Studio en el equipo, su conjunto de herramientas estará disponible en versiones posteriores. Por ejemplo, si el proyecto debe continuar en ejecución Windows XP, puede actualizar a Visual Studio 2019. A continuación, especifique el conjunto de herramientas como v141_xp o anterior en las propiedades del proyecto. 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).

Si elige , el proyecto se actualiza en su lugar. No se puede volver a convertir a la versión anterior. En escenarios de actualización, por eso es una buena práctica realizar una copia de seguridad de los archivos de proyecto y solución existentes.

Actualización de informes

Al actualizar un proyecto, obtiene un informe de actualización. El informe también se guarda en la carpeta del proyecto como UpgradeLog.htm. El informe de actualización muestra un resumen de los problemas que se encontraron durante la conversión. Muestra información sobre los cambios realizados, entre los que se incluyen:

  • Project propiedades.

  • Incluir archivos.

  • Código que ya no se compila correctamente debido a las mejoras o cambios de conformidad del compilador en el estándar.

  • Código que se basa en Visual Studio o Windows características que ya no están disponibles. O bien, los archivos de encabezado que no se incluyen en una instalación predeterminada de Visual Studio o se quitaron del producto.

  • Código que ya no se compila debido a cambios en las API, como las API cuyo nombre ha cambiado, las firmas de función modificadas o las funciones en desuso.

  • Código que ya no se compila debido a cambios en los diagnósticos, como una advertencia que se convierte en un error

  • Errores del vinculador debido a las bibliotecas que se cambiaron, especialmente cuando se usa /NODEFAULTLIB.

  • Errores en tiempo de ejecución o resultados inesperados debido a cambios de comportamiento.

  • Errores que se introdujeron en las herramientas. Si encuentra un problema, informe al equipo de Visual C++ a través de los canales de soporte técnico normales o mediante la Visual Studio de C++ Developer Community .

Algunos proyectos y soluciones actualizados se pueden crear correctamente sin modificaciones. Sin embargo, es probable que la mayoría de los proyectos requieran cambios en la configuración del proyecto y en el código fuente. No hay ninguna manera correcta de solucionar estos problemas, pero se recomienda usar un enfoque por fases. Antes de empezar, revise Información general de posibles problemas de actualización para obtener más información sobre muchos tipos de errores comunes.

  1. Establezca el conjunto de herramientas de plataforma, el estándar del lenguaje C++ y Windows versión del SDK (si procede) en las versiones preferidas. (propiedades Projectpropiedades de configuracióngenerales)

  2. Si tiene muchos errores, puede desactivar temporalmente algunas opciones mientras los corrige. Para desactivar la /permissive- opción, use Project /permissive->>>>lenguaje >>>> Para desactivar la opción de análisis de código,useProject Propiedades deconfiguraciónCode Analysis.

  3. Asegúrese de que todas las dependencias están presentes y de que las rutas de acceso de incluyen o las ubicaciones de biblioteca son correctas. (propiedades Projectpropiedadesde configuración VC++directorios)

  4. Identifique y corrija los errores causados por las referencias a las API que ya no existen.

  5. Corrija los errores restantes que impidan la compilación. Consulte Información general sobre posibles problemas de actualización para ver las correcciones de errores comunes.

  6. Vuelva a activar y corregir los nuevos errores causados por código no conforme que se /permissive- compiló anteriormente en MSVC.

  7. Active el análisis de código para identificar posibles problemas o patrones de codificación obsoletos que ya no se consideran aceptables. Si el análisis de código marca muchos errores, puede desactivar algunas de las advertencias para centrarse primero en las más importantes. El IDE puede ayudar con correcciones rápidas para algunos tipos de problemas.

  8. Considere otras oportunidades para modernizar el código. Por ejemplo, reemplace las estructuras de datos y algoritmos personalizados por los de la biblioteca estándar de C++ o la biblioteca de código abierto Boost. Mediante el uso de características estándar, facilita a otros usuarios el mantenimiento del código. Puede estar seguro de que este código ha sido probado y revisado por muchos expertos del comité de estándares y de la comunidad C++ más amplia.

En el caso de errores difíciles de corregir, puede buscar soluciones o publicar una pregunta en Microsoft Docs Q A. Para problemas en el compilador y las herramientas de C++, pruebe el sitio web de C++ Developer Community.

En esta sección

Información general sobre posibles problemas de actualización
Actualizar código a CRT universal
Actualización de WINVER y _WIN32_WINNT
Corrección de dependencias en los datos internos de biblioteca
Problemas de migración de punto flotante
Características de C++ en desuso en Visual Studio 2019
VCBuild frente a MSBuild
Migración de bibliotecas de terceros

Vea también

Novedades de Visual C++ en Visual Studio
Historial de cambios en Visual C++ 2003-2015
Comportamiento no estándar
Migración de aplicaciones de datos