Información general sobre el Asistente para actualización de .NET

Las nuevas versiones de .NET se publican a lo largo del año, con una versión principal una vez al año. El Asistente para actualización de .NET le ayuda a actualizar las aplicaciones de versiones anteriores de .NET, .NET Core y .NET Framework a la versión más reciente.

El Asistente para actualización de .NET es una herramienta de extensión y línea de comandos de Visual Studio diseñada para ayudar a actualizar las aplicaciones a la versión más reciente de .NET.

Los problemas relacionados con el Asistente para actualización de .NET se pueden archivar en Visual Studio seleccionando Ayuda>Enviar comentarios>Informar de un problema…

Instalación del Asistente para actualización

El Asistente para actualización de .NET se puede instalar como extensión de Visual Studio o como herramienta de línea de comandos de .NET. Para obtener más información, consulte Instalación del Asistente para actualización de .NET.

Idiomas compatibles

Se admiten los siguientes lenguajes de código:

  • C#
  • Visual Basic

Proyectos admitidos

Se admiten los siguientes tipos de proyectos:

  • ASP.NET
  • Azure Functions
  • Windows Presentation Foundation
  • Windows Forms
  • Bibliotecas de clases
  • Aplicaciones de consola
  • UWP de .NET Native
  • Xamarin.Forms
  • .NET MAUI

Rutas de actualización

Las siguientes rutas de acceso de actualización son compatibles:

  • .NET Framework a .NET
  • .NET Core a .NET
  • UWP a WinUI 3
  • Versión anterior de .NET a la versión más reciente de .NET
  • Azure Functions v1-v3 a v4 aislado
  • Formularios de Xamarin a .NET MAUI
    • Las transformaciones de archivos XAML solo admiten la actualización de los espacios de nombres. Para hacer transformaciones más completas, use Visual Studio 2022, versión 17.6 o posteriores.

Actualización con la extensión de Visual Studio

Después de instalar la extensión del Asistente para actualización de .NET, haga clic con el botón derecho en el proyecto en la ventana del Explorador de soluciones y seleccione Actualizar.

Precaución

Asegúrese de realizar una copia de seguridad de los proyectos antes de la actualización si no usa el control de código fuente.

The .NET Upgrade Assistant's Upgrade menu item in Visual Studio.

Se abre una pestaña que proporciona, en función del tipo de proyecto, diferentes estilos de actualización:

  • Actualización local del proyecto

    Esta opción actualiza el proyecto sin realizar una copia.

  • Actualización del proyecto en paralelo

    Copia el proyecto y actualiza la copia, dejando solo el proyecto original.

  • Incremental en paralelo

    Una buena opción para aplicaciones web complicadas. La actualización de ASP.NET a ASP.NET Core requiere un poco de trabajo y a veces la refactorización manual. Este modo coloca un proyecto de .NET junto al proyecto de .NET Framework existente y enruta los puntos de conexión que se implementan en el proyecto de .NET, mientras que todas las demás llamadas se envían a la aplicación de .NET Framework.

    Este modo le permite actualizar lentamente la aplicación de ASP.NET o Biblioteca por piezas.

Una vez actualizada la aplicación, se muestra una pantalla de estado que muestra todos los artefactos relacionados con el proyecto que estaban asociados a la actualización. Cada artefacto de actualización se puede expandir para leer más información sobre el estado. En la lista siguiente se describen los iconos de estado:

  • Marca de verificación verde rellenada: el artefacto se actualizó y se completó correctamente.
  • Marca de verificación verde no rellenada: la herramienta no encontró nada sobre el artefacto que se debe actualizar.
  • Signo de advertencia amarillo: el artefacto se actualizó, pero hay información importante que debe tener en cuenta.
  • X roja: el artefacto se tenía que actualizar, pero se produjo un error en la actualización.

The .NET Upgrade Assistant's Upgrade results tab in Visual Studio.

Además, las acciones realizadas por el Asistente para actualización se registran en la ventana Salida en el origen Asistente para actualización, como se muestra en la imagen siguiente:

The output window in Visual Studio showing the results from the .NET Upgrade Assistant.

Después de actualizar el proyecto, deberá probarlo exhaustivamente.

Actualización con la herramienta de la CLI

Después de instalar la herramienta de la CLI del Asistente para actualización de .NET, abra una ventana de terminal y vaya al directorio que contiene el proyecto que quiere actualizar. Puede usar el comando upgrade-assistant --help para ver las opciones disponibles que proporciona la CLI.

Precaución

Asegúrese de realizar una copia de seguridad de los proyectos antes de la actualización si no usa el control de código fuente.

Ejecute la herramienta con el comando upgrade-assistant upgrade; se muestran todos los proyectos de la carpeta actual y las siguientes. La herramienta de la CLI proporciona una manera interactiva de elegir qué proyecto se debe actualizar. Use las teclas de dirección para seleccionar un elemento y presione Entrar para ejecutarlo. Seleccione el proyecto que quiere actualizar. En el ejemplo que se proporciona en este artículo, hay cuatro proyectos en la carpeta actual:

 Selected options
───────────────────────────────────────────────────────────
 No options specified, follow steps below to continue

 Steps
─────────────────
 Source project
─────────────────

Which project do you want to upgrade (found 9)?

> MatchingGame (winforms\MatchingGame\MatchingGame.csproj)
  MatchingGame.Logic (winforms\MatchingGame.Logic\MatchingGame.Logic.csproj)
  StarVoteControl (csharp\StarVoteControl\StarVoteControl.csproj)
  WebSiteRatings (csharp\WebSiteRatings\WebSiteRatings.csproj)

  Navigation
    Exit

En función del proyecto que actualice, se le puede mostrar una opción para especificar cómo debe continuar la actualización:

  • Actualización local del proyecto

    Esta opción actualiza el proyecto sin realizar una copia.

  • Actualización del proyecto en paralelo

    Esta opción solo está disponible para proyectos de .NET Framework. Copia el proyecto y actualiza la copia, dejando solo el proyecto original.

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\winforms\MatchingGame\MatchingGame.csproj

 Steps
───────────────────────────────
 Source project / Upgrade type
───────────────────────────────

How do you want to upgrade project MatchingGame?

> In-place project upgrade
  Side-by-side project upgrade

  Navigation
    Back
    Exit

Después de este paso, si hay más de una plataforma de destino actualizable, elegirá un destino:

 Selected options
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
 Source project     C:\Code\Work\dotnet\dotnet-docs\docs\core\porting\snippets\upgrade-assistant-wpf-framework\winforms\MatchingGame\MatchingGame.csproj
 Ugrade type        Inplace

 Steps
──────────────────────────────────────────────────
 Source project / Ugrade type / Target framework
──────────────────────────────────────────────────

What is your preferred target framework?

> .NET 6.0 (Supported until November, 2024)
  .NET 7.0 (Supported until May, 2024)
  .NET 8.0 (Try latest preview features)

  Navigation
    Back
    Exit

Después de actualizar el proyecto, deberá probarlo exhaustivamente.