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 XAML funcionen correctamente.

El Recarga activa XAML es compatible con aplicaciones para WPF y UWP. Para obtener más información sobre los requisitos del sistema operativo y las herramientas, consulta Escritura y depuración de código XAML en ejecución con Recarga activa 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 durante la depuración de la aplicación, siga las instrucciones descritas en este artículo para resolver el problema.

Comprobación de que la Recarga activa 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 ver la barra de herramientas en la aplicación, que confirma que la Recarga activa XAML 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 ve la barra de herramientas desde la aplicación, seleccione Depurar>opciones>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 está seleccionada la opción Habilitar Recarga activa XAML.

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

Compruebe 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 inicia la aplicación. Visual Studio establece el valor automáticamente como parte del comando Depurar>iniciar depuración (o F5). Si quieres usar Recarga activa XAML con el comando Depurar>adjuntar al proceso en su lugar, establece la variable de entorno tú mismo.

Nota:

Para establecer una variable de entorno, use el botón Inicio 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 1en . Para limpiar, quite la variable cuando haya terminado de depurar.

Compruebe 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 propiedades de MSBuild en los archivos de proyecto (como *.csproj). Para WPF, la propiedad es XamlDebuggingInformation, que debe establecerse en True. Para UWP, 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 Recarga activa XAML (vea la sección anterior), o bien debe usar el nombre de configuración de compilación predeterminado (Depurar). Si no establece la propiedad MSBuild correctamente, un nombre de configuración de compilación personalizado no funcionará ni una compilación de versión.

Asegúrese de que el programa no se ejecuta con privilegios elevados

El Recarga activa XAML no se admite 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 el Recarga activa XAML no funcione.

Habilitar una búsqueda más exhaustiva para actualizar las referencias y los estilos de recursos en Visual Studio 2022

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

Captura de pantalla del

Limitaciones conocidas

A continuación se indican las limitaciones conocidas de la Recarga activa XAML. Para evitar cualquier limitación que se encuentra, basta con detener el depurador y, a continuación, completar la operación.

Limitación WPF UWP Notas
Cableado de eventos a controles mientras se ejecuta la aplicación No compatible No se admite Consulte error: Asegúrese de que se produjo 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 recurso en un diccionario de recursos, como en la página o ventana de la aplicación o App.xaml Se admite a partir de Visual Studio 2019 , versión 16.2 y posteriores Compatible Ejemplos:
- Agregar a un SolidColorBrush diccionario de recursos para usarlo como .StaticResource
Nota: Los recursos estáticos, los convertidores de estilos y otros elementos escritos en un diccionario de recursos se pueden aplicar o usar al usar Recarga activa XAML. Solo no se admite la creación del recurso.
- Cambiar la propiedad del diccionario Source de recursos.
Adición de nuevos controles, clases, ventanas u otros archivos al proyecto mientras se ejecuta la aplicación No se admite No se admite Ninguno
Administración de paquetes NuGet (agregar, quitar o actualizar paquetes) No se admite No se admite Ninguno
Cambio del enlace de datos que usa la extensión de marcado {x:Bind} N/D Se admite a partir de Visual Studio 2019 Esto requiere Windows 10 versión 1809 (compilación 10.0.17763) y versiones posteriores. No se admite en Visual Studio 2017 o versiones anteriores.
Cambio de directivas x:Uid N/D No compatible Ninguno
Uso de varios procesos Compatible Compatible Compatible con Visual Studio 2019 , versión 16.6 y posteriores.
Edición de estilos en themes\generic.xaml No se admite No compatible XAML Recarga activa crea nuevos estilos; los originales se sellan. Las plataformas almacenan en caché los estilos de generic.xaml después de aplicarlos a los controles, lo que hace que no sean accesibles para su reemplazo.

Mensajes de error

Es posible que te encuentres con los siguientes errores al usar Recarga activa XAML.

Mensaje de error Descripción
Asegurarse de que se produjo un error en el evento El error indica que intenta 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 XAML y no se aplicará durante la sesión de depuración. El error indica que el cambio que intentas no es compatible con la Recarga activa XAML. Detenga la sesión de depuración, realice el cambio y reinicie la sesión de depuración.

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