Recarga frecuente de XAML para .NET MAUI
La recarga frecuente de XAML de la interfaz de usuario de aplicaciones multiplataforma de .NET (.NET MAUI) es una característica de Visual Studio que te permite ver el resultado de los cambios de XAML en tu aplicación en ejecución, sin tener que recompilar tu proyecto. Sin la recarga frecuente de XAML, hay que compilar e implementar la aplicación cada vez que desees ver el resultado de un cambio en XAML.
Cuando tu aplicación de .NET MAUI se ejecuta en configuración de depuración, con el depurador asociado, la recarga frecuente de XAML analiza tus modificaciones de XAML y envía los cambios a la aplicación en ejecución. Conserva el estado de tu interfaz de usuario, ya que no vuelve a crear la interfaz para toda la página, y actualiza las propiedades modificadas en los controles afectados por las modificaciones. Además, tu estado de navegación y tus datos se mantendrán, lo que te permite iterar rápidamente por la interfaz de usuario sin perder la ubicación en la aplicación. Por lo tanto, dedicarás menos tiempo a volver a compilar e implementar las aplicaciones para validar los cambios de la interfaz de usuario.
De forma predeterminada, no es necesario guardar tu archivo XAML para ver los resultados de tus modificaciones. En su lugar, las actualizaciones se aplican inmediatamente a medida que escribes. Sin embargo, en Windows puedes cambiar este comportamiento para actualizar solo al guardar el archivo. Esto se puede lograr marcando la casilla Aplicar la recarga frecuente de XAML al guardar el archivo en la configuración de recarga frecuente del IDE, disponible seleccionando Depuración >Opciones> Recarga frecuente de XAML en la barra de menús de Visual Studio. La actualización sólo al guardar el archivo a veces puede ser útil si realizas actualizaciones XAML más grandes y no deseas que se muestren hasta que se hayan completado.
Nota:
Si estás escribiendo una aplicación nativa para UWP o WPF, sin usar .NET MAUI, consulta ¿Qué es la recarga frecuente de XAML para aplicaciones WPF y UWP?.
La recarga frecuente de XAML está disponible tanto en Visual Studio 2022 como en Visual Studio 2022 para Mac. En Windows, la recarga frecuente de XAML está disponible en Android, iOS y WinUI en emuladores, simuladores y dispositivos físicos. En Mac, la recarga frecuente de XAML está disponible en Android, iOS y Mac Catalyst en emuladores, simuladores y dispositivos físicos. En todos los casos, la recarga activa de XAML requiere que la configuración de depuración se llame Debug
.
Importante
La recarga activa de XAML no recarga el código C#. Si agregas un nuevo controlador de eventos en el código, solo se puede usar en XAML después de volver a cargar el código. Además, si agregas un nuevo elemento XAML con x:Name
, el nombre no se puede usar en el código hasta que se vuelva a cargar el código.
Recarga de página completa
Puede haber casos en los que la recarga activa de XAML no actualice la aplicación en ejecución según lo previsto. Por ejemplo, puedes cambiar una propiedad de color en un control .NET MAUI, pero no ver el cambio de color en la aplicación en ejecución. Para solucionar estos problemas, puedes recargar completamente el archivo XAML haciendo clic en el botón de la barra de herramientas Recarga activa o presionando Alt+F10. Solo se volverán a cargar los archivos XAML que se hayan editado. La excepción es si cambias un archivo de diccionario de recursos, en cuyo caso se volverán a cargar todos los archivos XAML para aplicar nuevos recursos.
Importante
Cuando se recarga XAML, es posible que se pierda algún estado de interfaz de usuario, como el foco y la selección actuales.
Habilitación de la recarga frecuente de XAML
La recarga frecuente de XAML está habilitada de forma predeterminada en Visual Studio 2022. Si se ha deshabilitado anteriormente, se puede habilitar seleccionando Depuración >Opciones >Recarga frecuente de XAML en la barra de menús de Visual Studio. Después, en el cuadro de diálogo Opciones, asegúrate de que las opciones Habilitación de la recarga frecuente de XAML, WinUI (incluyendo .NET MAUI) y Android e iOS (.NET MAUI) están activadas:
Después, en iOS, en la configuración de compilación, comprueba que el enlazador está en "No enlazar".
Recarga en varias plataformas
La recarga activa de XAML es compatible con la depuración simultánea de varias plataformas en Visual Studio, siempre que tengas proyectos principales separados por plataforma en lugar de una sola aplicación de proyecto. Por ejemplo, puedes implementar un destino de Android y iOS al mismo tiempo para ver tus cambios reflejados en ambas plataformas a la vez. Para depurar en múltiples plataformas en Windows, consulta Cómo configurar varios proyectos de inicio.
Solución de problemas
La salida de la recarga frecuente de XAML muestra mensajes de estado que pueden ayudar a solucionar problemas. En Visual Studio, se pueden mostrar seleccionando Ver > Salida en la barra de menús y después seleccionando Recarga activa en la lista desplegable Mostrar salida de:.
Si la recarga frecuente de XAML no se inicializa, debes asegurarte de que usas la última versión de .NET MAUI, la última versión del IDE y que la configuración del enlazador de iOS está configurada en No enlazar en la configuración de compilación del proyecto.
La recarga activa de XAML requiere que la configuración de depuración se llame Debug
. Si se usa una configuración de compilación personalizada, la recarga activa de XAML dejará de funcionar si la configuración de compilación no se denomina Debug
.
Si no ocurre nada al guardar el archivo XAML, asegúrate de que la recarga frecuente de XAML está habilitada en el IDE. Para obtener más información, consulta Habilitación de la recarga frecuente de XAML.
Si realizas un cambio que el analizador de la recarga frecuente de XAML ve como no válido, mostrará el error subrayado en el editor y lo incluirá en la ventana Lista de errores. La recarga frecuente de errores tienen un código de error que empieza por "XHR" (para la recarga frecuente de XAML). Si hay errores de este tipo en la página, la recarga activa de XAML no aplicará cambios a la aplicación en ejecución hasta que se corrijan los errores.
No puedes agregar, quitar ni cambiar el nombre de archivos ni paquetes NuGet durante una sesión de recarga activa de XAML. Si agregas o quitas un archivo o un paquete NuGet, recompila y vuelve a implementar la aplicación para seguir usando la recarga activa de XAML.
No se admite la deshabilitación de la compilación de XAML con [XamlCompilation(XamlCompilationOptions.Skip)]
, ya que puede causar problemas con el árbol visual dinámico. Para obtener más información sobre el árbol visual dinámico, consulta Inspección del árbol visual de una aplicación de .NET MAUI.