Recarga activa de XAML para Xamarin.Forms

Recarga activa de XAML se conecta al flujo de trabajo existente para aumentar la productividad y ahorrar tiempo. Sin Recarga activa de XAML, tienes que compilar e implementar la aplicación cada vez que quieras ver un cambio xaml. Con Recarga activa, al guardar el archivo XAML, los cambios se reflejan en directo en la aplicación en ejecución. Además, se mantendrán el estado de navegación y los datos, lo que le permitirá iterar rápidamente en la interfaz de usuario sin perder su lugar en la aplicación. Por lo tanto, Recarga activa de XAML, dedicará menos tiempo a recompilar e implementar las aplicaciones para validar los cambios de la interfaz de usuario.

Nota:

Si va a escribir una aplicación nativa de UWP o WPF, sin usar , vea Recarga activa de XAML Xamarin.FormsXamarin.Forms

Requisitos del sistema

IDE/Marco de trabajo Versión mínima necesaria
Visual Studio 2019 16.9 para el modo de solo cambios, 16.4 para el modo de página completa
Visual Studio 2019 para Mac 8.9 para el modo de solo cambios, 8.4 para el modo de página completa
Xamarin.Forms 5.0.0.2012 para el modo de solo cambios; 4.1 para el modo de página completa

Habilitar Recarga activa de XAML para Xamarin.Forms

Si va a empezar desde una plantilla, Recarga activa de XAML está en modo predeterminado y el proyecto está configurado para funcionar sin ninguna configuración adicional. Depure la aplicación Android, iOS o UWP en un emulador o dispositivo físico y cambie el CÓDIGO XAML para desencadenar una Recarga activa de XAML.

Si trabaja desde una solución existente, no se requiere ninguna instalación adicional para usar Recarga activa de XAML, pero es posible que tenga que comprobar de nuevo la configuración para garantizar la Xamarin.Forms mejor experiencia. En primer lugar, habilite esta opción en la configuración del IDE:

  • En Windows, active la casilla Habilitar Recarga activa de XAML (y las plataformas necesarias) en Herramientas Opciones dedepuración Recarga activa.
    • En versiones anteriores de Visual Studio 2019, la casilla está en Opciones de herramientas XamarinRecarga activa.
  • En Mac, active la casilla Habilitar Xamarin Recarga activa en Visual StudioPreferencesTools for XamarinRecarga activa de XAML.
    • En versiones anteriores de Visual Studio para Mac, la casilla está en Visual StudioPreferences ProjectsXamarin Recarga activa.

A continuación, en la configuración de compilación de Android e iOS, compruebe que el vinculador está establecido en "No vincular" o "Vincular ninguno". Para usar Recarga activa de XAML con un dispositivo iOS físico, también debe activar Habilitar el intérprete mono (Visual Studio 16.4 y posteriores) o agregar --interpreter a los argumentos mtouch adicionales (Visual Studio 16.3 y posteriores).

Puede usar el siguiente diagrama de flujo para comprobar la configuración del proyecto existente para su uso con Recarga activa de XAML:

Recarga activa de XAML diagrama de

Recarga activa modos

Recarga activa de XAML puede funcionar en dos modos diferentes: el modo de solo cambios más reciente y el modo de página completa anterior.

Desde Visual Studio 16.9 y Visual Studio para Mac 8.9, el comportamiento predeterminado es para el modo de solo cambios que se usará para todas las aplicaciones que usan Xamarin.Forms la versión 5.0 o posterior. Para las versiones anteriores de Xamarin.Forms , se usa el modo de página completa. Sin embargo, puede forzar el uso del modo de página completa para todas las aplicaciones de la configuración del IDE de Recarga activa(Herramientas Opciones de depuración Recarga activa en Windows o Herramientas de preferencias de Visual Studio para XamarinRecarga activa de XAML en Mac).

El modo de solo cambios analiza el XAML para ver exactamente qué cambió al realizar una edición y envía solo esos cambios a la aplicación en ejecución. Se trata de la misma tecnología que se usa para WPF y UWP Recarga activa. Conserva el estado de la interfaz de usuario, ya que no vuelve a crear la interfaz de usuario para la página completa, solo actualiza las propiedades modificadas en los controles afectados por las modificaciones. El modo de solo cambios también permite el uso del árbol visual en directo.

De forma predeterminada, con el modo de solo cambios no es necesario guardar el archivo para ver los cambios: las actualizaciones se aplican inmediatamente, a medida que escribe. Sin embargo, puede cambiar este comportamiento para actualizar solo al guardar archivos. Esto se puede lograr activando la casilla Aplicar Recarga activa de XAML guardar documento (actualmente solo disponible en Windows) en la configuración del IDE Recarga activa documento. A veces, solo la actualización al guardar documentos puede ser útil si realiza actualizaciones XAML más grandes y no quiere que se muestren hasta que se completen.

El modo de página completa envía el archivo XAML completo a la aplicación en ejecución después de realizar modificaciones y guardarlas. La aplicación en ejecución vuelve a cargar la página y vuelve a crear sus controles; verá la actualización de la interfaz de usuario.

El modo de solo cambios es el futuro Recarga activa y se recomienda usarlo siempre que sea posible. Es rápido, conserva el estado de la interfaz de usuario y admite Live Visual Tree. El modo de página completa todavía se proporciona para las aplicaciones que aún no se han actualizado a Xamarin.Forms la versión 5.0.

Nota:

Deberá reiniciar la sesión de depuración al cambiar de modo.

Errores XAML

Modo de solocambios: si realiza un cambio que el analizador XAML de Recarga activa ve como no válido, mostrará el error subrayado en el editor y lo incluirá en la ventana de errores. Estos Recarga activa errores tienen un código de error que empieza por "XHR" (para Recarga activa de XAML). Si hay algún error de este tipo en la página, Recarga activa no aplicará cambios, incluso si se realizan en otras partes de la página. Corrija todos los errores para Recarga activa empezar a trabajar de nuevo para la página.

Modo de páginacompleta: si realiza un cambio Recarga activa de XAML no se puede volver a cargar, se mostrará el error subrayado en el editor e incluirá en la ventana de errores. Estos cambios, conocidos como ediciones de estilo, incluyen la desinformación del XAML o la conexión de un control a un controlador de eventos que no existe. Incluso con una edición más sencilla, puede continuar recargando sin reiniciar la aplicación; realice otro cambio en otra parte del archivo XAML y presione Guardar. La edición de la marca no se volverá a cargar, pero se seguirán aplicando los demás cambios.

Recarga en varias plataformas a la vez

Recarga activa de XAML admite la depuración simultánea en Visual Studio y Visual Studio para Mac. Puede implementar un destino de iOS y Android al mismo tiempo para ver los cambios reflejados en ambas plataformas a la vez. Para depurar en varias plataformas, consulte:

Limitaciones conocidas

  • Xamarin.Forms Los destinos más allá de Android, iOS y UWP (por ejemplo, macOS) no se admiten actualmente.
  • El uso de [XamlCompilation(XamlCompilationOptions.Skip)], deshabilitar la compilación XAML, no se admite y puede causar problemas con el árbol visual en directo.
  • No se pueden agregar, quitar ni cambiar el nombre de archivos ni NuGet paquetes durante una Recarga activa de XAML sesión. Si agrega o quita un archivo o un NuGet, recompile e vuelva a implementar la aplicación para seguir usando Recarga activa de XAML.
  • Establezca el vinculador en No vincular o Vincular ninguno para obtener la mejor experiencia. La configuración del SDK de vínculo solo funciona la mayoría de las veces, pero puede producir un error en determinados casos. La configuración del vinculador se puede encontrar en las opciones de compilación de Android e iOS.
  • La depuración en un iPhone requiere que el intérprete use Recarga activa de XAML. Para ello, abra la configuración del proyecto, seleccione la pestaña Compilación de iOS y asegúrese de que habilitar la configuración del intérprete mono está habilitada. Es posible que tenga que cambiar la opción Plataforma en la parte superior de la página de propiedades para iPhone.
  • Recarga activa de XAML puede volver a cargar el código de C#, incluidos controladores de eventos, controles personalizados, código subyacente de página y clases adicionales.

Solucionar problemas

  • Se muestra la Recarga activa de XAML salida para ver los mensajes de estado, lo que puede ayudar a solucionar problemas:
    • Windows:mostrar Salida con Ver salida y seleccionar Xamarin Recarga activa en Mostrar salida de: en la parte superior
    • Mac:mantenga el puntero sobre Recarga activa de XAML en la barra de estado para mostrar ese panel.
  • Si Recarga activa de XAML no se puede inicializar:
    • Actualice la Xamarin.Forms versión.
    • Asegúrese de que está en la versión más reciente del IDE.
    • Establezca la configuración del vinculador de iOS o Android en No vincular en la configuración de compilación del proyecto.
  • Si no ocurre nada al guardar el archivo XAML, asegúrese de Recarga activa de XAML está habilitado en el IDE.
  • Si está depurando en una aplicación física iPhone la aplicación deja de responder, compruebe que el intérprete está habilitado. Para activarlo, active Habilitar el intérprete mono (Visual Studio 16.4/8.4 y versiones adicionales) o agregue --interpreter al campo Argumentos mtouch adicionales (Visual Studio 16.3/8.3 y versiones anteriores) en la configuración de compilación de iOS.

Para notificar un error, use HelpSend Feedback Report a Problem on Windows (Ayudar a enviar comentarios notificar un problema en Windows ayuda para notificar un problema en Mac).