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:
Visual Studio 2022:
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.
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 1
en . 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.
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 .