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:
Visual Studio 2022:
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.
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.
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 .StaticResource Nota: 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 .