Compartir a través de


Solución de problemas de Recarga activa XAML

Se aplica a: Visual Studio 2019 y versiones posteriores

Esta guía de solución de problemas incluye instrucciones detalladas que deben resolver la mayoría de los problemas que impiden que Recarga activa de XAML funcione correctamente.

Recarga activa de XAML es compatible con aplicaciones de WPF y UWP. Para obtener más información sobre los requisitos del sistema operativo y las herramientas, consulte Escribir y depurar código XAML en ejecución con Recarga activa de XAML.

Si Recarga activa no está disponible

Si ve el mensaje Hot Reload is not available en la barra de herramientas de la aplicación mientras depura la aplicación, siga las instrucciones descritas en este artículo para resolver el problema.

Comprobar que Recarga activa de XAML esté habilitada

La característica está habilitada de forma predeterminada en Visual Studio 2019 y versiones posteriores. Al iniciar la depuración de la aplicación, asegúrate de que ves la barra de herramientas en la aplicación, que confirma que xaml Recarga activa está disponible.

Visual Studio 2019:

Captura de pantalla de la barra de herramientas

Visual Studio 2022:

Captura de pantalla de la barra de herramientas

Si no ves la barra de herramientas en la aplicación, selecciona Opciones de depuración>>XAML Recarga activa en la barra de menús de Visual Studio. A continuación, en el cuadro de diálogo Opciones, asegúrese de que la opción Habilitar Recarga activa de XAML esté seleccionada.

Captura de pantalla de la ventana Opciones de depuración de Visual Studio, con la opción Habilitar Recarga activa de XAML resaltada.

Comprobar que usa Iniciar depuración en lugar de Asociar al proceso

El Recarga activa XAML requiere que la variable ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO de entorno se establezca 1 en en el momento en que se inicie la aplicación. Visual Studio establece el valor automáticamente como parte del comando Iniciar depuración> (o F5). Si quiere usar Recarga activa de XAML con el comando Depurar>Asociar al proceso en su lugar, establezca la variable de entorno usted mismo.

Nota:

Para establecer una variable de entorno, use el botón Iniciar para buscar la variable de entorno y elija Editar las variables de entorno del sistema. En el cuadro de diálogo que se abre, elija Variables de entorno, agréguela como variable de usuario y establezca el valor en 1. Para limpiar, quite la variable cuando haya terminado de depurar.

Comprobar que las propiedades de MSBuild son correctas

De forma predeterminada, la información de origen se incluye en una configuración de depuración. Se controla mediante las propiedades de MSBuild en los archivos del proyecto (como *.csproj). Para WPF, la propiedad es XamlDebuggingInformation, que debe establecerse en True. Para WPF, la propiedad es DisableXbfLineInfo, que debe establecerse en False. Por ejemplo:

WPF:

<XamlDebuggingInformation>True</XamlDebuggingInformation>

UWP:

<DisableXbfLineInfo>False</DisableXbfLineInfo>

Compruebe que usa el nombre de configuración de compilación correcto.

Debe establecer manualmente la propiedad correcta de MSBuild para admitir la Recarga activa de XAML (consulte la sección anterior), o debe usar el nombre de configuración de compilación predeterminado (Depurar). Si no establece correctamente la propiedad de MSBuild, un nombre de configuración de compilación personalizado no funcionará, tampoco lo hará una compilación de versión.

Asegúrese de que el programa no se está ejecutando con privilegios elevados

Los Recarga activa XAML no se admiten en las aplicaciones que se ejecutan con privilegios elevados o se ejecutan como administrador.

Comprobar que el archivo XAML no tiene errores

Si el archivo XAML muestra errores en la lista de errores, es posible que Recarga activa de XAML no funcione.

Habilitación de la búsqueda más exhaustiva para actualizar referencias y estilos de recursos en Visual Studio 2022

Establecer la XAML_HOT_RELOAD_ACCURACY_OVER_PERF variable de entorno en 1 permite una búsqueda más extensa para actualizar las referencias y estilos de recursos en aplicaciones WPF. Tenga en cuenta que algunas aplicaciones, como las que usan kits de herramientas de terceros, pueden experimentar retrasos significativos con la Recarga activa de XAML. Cuando se produce un retraso, aparece un temporizador de progreso de Recarga activa en la barra de estado del editor.

Captura de pantalla del temporizador de progreso

Limitaciones conocidas

A continuación se muestran las limitaciones conocidas del Recarga activa de XAML. Para solucionar cualquier limitación que se produzca, detenga el depurador y, a continuación, complete la operación.

Limitación WPF UWP Notas
Conexión de eventos a controles mientras se ejecuta la aplicación No compatible No compatible Consulte el error: Asegúrese de que se ha producido un error en el evento. En WPF, puede hacer referencia a un controlador de eventos existente. En las aplicaciones para UWP, no se admite la referencia a un controlador de eventos existente.
Creación de objetos de recursos en un diccionario de recursos, como en la página o ventana de la aplicación o App.xaml Se admite en Visual Studio 2019 versión 16.2 y posteriores Compatible Ejemplos:
: agregar un objeto SolidColorBrush a un diccionario de recursos para usarlo como .
StaticResourceNota: Los recursos estáticos, los convertidores de estilo y otros elementos escritos en un diccionario de recursos se pueden aplicar o usar mientras se usan Recarga activa XAML. Solo no se admite la creación del recurso.
: se cambia la propiedad Source del diccionario de recursos.
Agregar nuevos controles, clases, ventanas u otros archivos al proyecto mientras se ejecuta la aplicación No compatible No compatible Ninguno
Administración de paquetes NuGet (agregar, quitar o actualizar paquetes) No compatible No compatible Ninguno
Cambio del enlace de datos que usa la extensión de marcado {x:Bind} N/D Se admite a partir de la versión de Visual Studio 2019 Se requiere Windows 10, versión 1809 (compilación 10.0.17763) y posteriores. No se admite en Visual Studio 2017 ni en versiones anteriores.
Cambio de directivas x:Uid N/D No compatible Ninguno
Utilización de varios procesos Compatible Compatible Se admite en Visual Studio 2019 versión 16.6 y posteriores.
Edición de estilos en themes\generic.xaml No compatible No compatible Recarga activa de XAML crea nuevos estilos; los originales están sellados. Las plataformas almacenan en caché los estilos de generic.xaml después de aplicarlos a los controles, lo que hace que sean inaccesibles para su reemplazo.

Mensajes de error

Es posible que se produzcan los siguientes errores al usar Recarga activa de XAML.

Mensaje de error Descripción
Asegúrese de que se ha producido un error en el evento El error indica que está intentando conectar un evento a uno de los controles, que no se admite mientras se ejecuta la aplicación.
Este cambio no es compatible con Recarga activa de XAML y no se aplicará durante la sesión de depuración. El error indica que el cambio que está intentando no es compatible con Recarga activa de XAML. Detenga la sesión de depuración, realice el cambio y reinicie la sesión de depuración.

Si encuentra un escenario no compatible que le gustaría ver admitido, háganoslo saber mediante nuestra opción Sugerir una característica .