Ricaricamento rapido XAML perXamarin.Forms

XAML Ricaricamento rapido collega il flusso di lavoro esistente per aumentare la produttività e risparmiare tempo. Senza Ricaricamento rapido XAML, devi compilare e distribuire l'app ogni volta che vuoi visualizzare una modifica XAML. Con Ricaricamento rapido, quando si salva il file XAML, le modifiche vengono riflesse in tempo reale nell'app in esecuzione. Inoltre, lo stato di spostamento e i dati verranno mantenuti, consentendo di scorrere rapidamente l'interfaccia utente senza perdere la posizione nell'app. Pertanto, con Ricaricamento rapido XAML, dedicare meno tempo alla ricompilazione e alla distribuzione delle app per convalidare le modifiche dell'interfaccia utente.

Nota

Se stai scrivendo un'app UWP o WPF nativa, non usando Xamarin.Forms, vedi Ricaricamento rapido XAML per UWP e WPF.

Requisiti di sistema

IDE/Framework Versione minima richiesta
Visual Studio 2019 16.9 solo per la modalità di modifica, 16.4 per la modalità pagina completa
Visual Studio 2019 per Mac 8.9 solo per la modalità di modifica, 8.4 per la modalità pagina completa
Xamarin.Forms 5.0.0.2012 solo per la modalità di modifica; 4.1 per la modalità pagina completa

Abilitare Ricaricamento rapido XAML perXamarin.Forms

Se si inizia da un modello, xaml Ricaricamento rapido è attivato per impostazione predefinita e il progetto è configurato per funzionare senza alcuna configurazione aggiuntiva. Eseguire il debug dell'app Android, iOS o UWP in un emulatore o dispositivo fisico e modificare il codice XAML per attivare un Ricaricamento rapido XAML.

Se stai lavorando da una soluzione esistenteXamarin.Forms, non è necessaria alcuna installazione aggiuntiva per usare Ricaricamento rapido XAML, ma potresti dover controllare la configurazione per garantire la migliore esperienza. Abilitarlo prima di tutto nelle impostazioni dell'IDE:

  • In Windows selezionare la casella di controllo Abilita Ricaricamento rapido XAML (e le piattaforme necessarie) in Strumenti>Opzioni>debug> Ricaricamento rapido.
    • Nelle versioni precedenti di Visual Studio 2019, la casella di controllo è disponibile in Opzioni>strumenti>Xamarin> Ricaricamento rapido.
  • In Mac selezionare la casella di controllo Abilita Xamarin Ricaricamento rapido in Visual Studio>Preferences>Tools for Xamarin>XAML Ricaricamento rapido.
    • Nelle versioni precedenti di Visual Studio per Mac, la casella di controllo si trova in Visual Studio>Preferences>Projects>Xamarin Ricaricamento rapido.

Quindi, nelle impostazioni di compilazione android e iOS verificare che il linker sia impostato su "Non collegare" o "Collega none". Per usare xaml Ricaricamento rapido con un dispositivo iOS fisico, devi anche selezionare Abilita l'interprete Mono (Visual Studio 16.4 e versioni successive) o aggiungere --interprete agli argomenti aggiuntivi mtouch (Visual Studio 16.3 e versioni successive).

Puoi usare il diagramma di flusso seguente per controllare la configurazione del progetto esistente da usare con xaml Ricaricamento rapido:

XAML Hot Reload Setup

modalità Ricaricamento rapido

I Ricaricamento rapido XAML possono funzionare in due modalità diverse, ovvero la modalità di sola modifica più recente e la modalità pagina completa precedente.

Da Visual Studio 16.9 e Visual Studio per Mac 8.9, il comportamento predefinito prevede l'uso solo della modalità di modifica per tutte le app che usano Xamarin.Forms la versione 5.0 o successiva. Per le versioni precedenti di Xamarin.Forms, viene usata la modalità pagina completa. Tuttavia, è possibile forzare l'uso della modalità pagina completa per tutte le app nelle impostazioni dell'IDE di Ricaricamento rapido (Opzioni>strumenti>debug Ricaricamento rapido in Strumenti di preferenze>> di Windows o Visual Studio>per Xamarin XAML> Ricaricamento rapido in Mac).

Modifica solo la modalità analizza il codice XAML per vedere esattamente cosa è cambiato quando si apporta una modifica e invia solo tali modifiche all'app in esecuzione. Questa è la stessa tecnologia usata per i Ricaricamento rapido WPF e UWP. Mantiene lo stato dell'interfaccia utente, poiché non ricrea l'interfaccia utente per la pagina completa, aggiornando semplicemente le proprietà modificate nei controlli interessati dalle modifiche. La modalità solo modifiche abilita anche l'uso della struttura ad albero visuale attiva.

Per impostazione predefinita, con le modifiche solo in modalità non è necessario salvare il file per visualizzare le modifiche. Gli aggiornamenti vengono applicati immediatamente durante la digitazione. Tuttavia, è possibile modificare questo comportamento in modo da aggiornare solo al salvataggio del file. A tale scopo, selezionare la casella di controllo Applica Ricaricamento rapido XAML al salvataggio del documento (attualmente disponibile solo in Windows) nelle impostazioni dell'IDE Ricaricamento rapido. L'aggiornamento al salvataggio del documento può essere utile solo se si apportano aggiornamenti XAML più grandi e non si desidera che vengano visualizzati fino al completamento.

La modalità pagina completa invia il file XAML completo all'app in esecuzione dopo aver apportato modifiche e salvare. L'app in esecuzione ricarica quindi la pagina ricreandone i controlli. Verrà visualizzato l'aggiornamento dell'interfaccia utente.

La modalità solo modifiche è il futuro di Ricaricamento rapido ed è consigliabile usarla quando possibile. È veloce, mantiene lo stato dell'interfaccia utente e supporta l'albero visuale attivo. La modalità pagina completa è ancora disponibile per le app che non sono ancora state aggiornate alla Xamarin.Forms versione 5.0.

Nota

Sarà necessario riavviare la sessione di debug quando si cambia modalità.

Errori XAML

Solo modalità di modifica: se si apporta una modifica al parser XAML Ricaricamento rapido viene visualizzato come non valido, verrà visualizzato l'errore sottolineato nell'editor e includerlo nella finestra degli errori. Questi errori Ricaricamento rapido hanno un codice di errore che inizia con "XHR" (per Ricaricamento rapido XAML). Se sono presenti errori di questo tipo nella pagina, Ricaricamento rapido non applicherà le modifiche, anche se apportate in altre parti della pagina. Correggere tutti gli errori per Ricaricamento rapido di iniziare a funzionare di nuovo per la pagina.

Modalità pagina completa: se si apporta una modifica che Ricaricamento rapido XAML non può ricaricare, verrà visualizzato l'errore sottolineato nell'editor e includerlo nella finestra degli errori. Queste modifiche, note come modifiche scortesi, includono la digitazione errata del codice XAML o il collegamento di un controllo a un gestore eventi che non esiste. Anche con una modifica scortese, puoi continuare a ricaricare senza riavviare l'app: apportare un'altra modifica altrove nel file XAML e premere salva. La modifica scortese non verrà ricaricata, ma le altre modifiche continueranno a essere applicate.

Ricaricare su più piattaforme contemporaneamente

Xaml Ricaricamento rapido supporta il debug simultaneo in Visual Studio e Visual Studio per Mac. È possibile distribuire un dispositivo Android e una destinazione iOS contemporaneamente per visualizzare le modifiche riflesse in entrambe le piattaforme contemporaneamente. Per eseguire il debug su più piattaforme, vedere:

Limitazioni note

  • Xamarin.Forms le destinazioni oltre Android, iOS e UWP (ad esempio, macOS) non sono attualmente supportate.
  • L'uso di [XamlCompilation(XamlCompilationOptions.Skip)], la disabilitazione della compilazione XAML, non è supportata e può causare problemi con la struttura ad albero visuale attiva.
  • Non è possibile aggiungere, rimuovere o rinominare file o pacchetti NuGet durante una sessione di Ricaricamento rapido XAML. Se aggiungi o rimuovi un file o un pacchetto NuGet, ricompila e ridistribuisci l'app per continuare a usare Ricaricamento rapido XAML.
  • Impostare il linker su Don't Link (Non collegare ) o Link None (Nessuna) per un'esperienza ottimale . L'impostazione Link SDK funziona solo per la maggior parte del tempo, ma può non riuscire in determinati casi. Le impostazioni del linker sono disponibili nelle opzioni di compilazione android e iOS.
  • Il debug in un i fisico Telefono richiede che l'interprete usi Ricaricamento rapido XAML. A tale scopo, aprire le impostazioni del progetto, selezionare la scheda Compilazione iOS e assicurarsi che l'impostazione Abilita l'interprete Mono sia abilitata. Potrebbe essere necessario modificare l'opzione Piattaforma nella parte superiore della pagina delle proprietà in i Telefono.
  • I Ricaricamento rapido XAML non possono ricaricare il codice C#, inclusi gestori eventi, controlli personalizzati, code-behind della tabella e classi aggiuntive.

Risoluzione dei problemi

  • Visualizzare l'output Ricaricamento rapido XAML per visualizzare i messaggi di stato, utili per la risoluzione dei problemi:
    • Windows: visualizzare l'output con Visualizza>output e selezionare Xamarin Ricaricamento rapido in Mostra output da: nella parte superiore
    • Mac: passare il puntatore sul Ricaricamento rapido XAML nella barra di stato per visualizzare il riquadro
  • Se l'Ricaricamento rapido XAML non riesce a inizializzare:
    • Aggiornare la Xamarin.Forms versione.
    • Assicurarsi di essere nella versione più recente dell'IDE.
    • Impostare le impostazioni del linker Android o iOS su Non collegare nelle impostazioni di compilazione del progetto.
  • Se non accade nulla al salvataggio del file XAML, assicurarsi che il Ricaricamento rapido XAML sia abilitato nell'IDE.
  • Se si esegue il debug in un i Telefono fisico e l'app non risponde, verificare che l'interprete sia abilitato. Per attivarlo, selezionare Abilita l'interprete Mono (Visual Studio 16.4/8.4 e versioni precedenti) o aggiungere --interprete al campo Argomenti aggiuntivi mtouch (Visual Studio 16.3/8.3 e versioni precedenti) nelle impostazioni di compilazione iOS.

Per segnalare un bug, usare la Guida>per inviare commenti>e suggerimenti Segnala un problema in Windows e Segnalare>un problema in Mac.