Condividi tramite


Ricaricamento rapido XAML per .NET MAUI

.NET Multipiattaforma INTERFACCIA utente (.NET MAUI) XAML Ricaricamento rapido è una funzionalità di Visual Studio che consente di visualizzare il risultato delle modifiche XAML nell'app in esecuzione, senza dover ricompilare il progetto. Senza xaml Ricaricamento rapido, devi compilare e distribuire la tua app ogni volta che vuoi visualizzare il risultato di una modifica XAML.

Quando l'app .NET MAUI è in esecuzione nella configurazione di debug, con il debugger collegato, XAML Ricaricamento rapido analizza le modifiche XAML e invia tali modifiche all'app in esecuzione. Mantiene lo stato dell'interfaccia utente, poiché non ricrea l'interfaccia utente per la pagina completa e aggiorna le proprietà modificate nei controlli interessati dalle modifiche. Inoltre, lo stato di navigazione e i dati verranno mantenuti, consentendo di eseguire rapidamente l'iterazione nell'interfaccia utente senza perdere la posizione nell'app. Di conseguenza, si passerà meno tempo alla ricompilazione e alla distribuzione delle app per convalidare le modifiche dell'interfaccia utente.

Per impostazione predefinita, non è necessario salvare il file XAML per visualizzare i risultati delle modifiche. Gli aggiornamenti vengono invece applicati immediatamente durante la digitazione. Tuttavia, in Windows è 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 nelle impostazioni dell'IDE Ricaricamento rapido disponibili selezionando Opzioni di debug >> XAML Ricaricamento rapido dalla barra dei menu di Visual Studio. L'aggiornamento al salvataggio del file può essere utile solo se si apportano aggiornamenti XAML più grandi e non si desidera che vengano visualizzati fino al completamento.

Nota

Se stai scrivendo un'app UWP o WPF nativa, senza usare .NET MAUI, vedi Che cos'è xaml Ricaricamento rapido per le app WPF e UWP?.

Xaml Ricaricamento rapido è disponibile sia in Visual Studio 2022 che in Visual Studio Code. In Windows il Ricaricamento rapido XAML è disponibile in Android, iOS e WinUI su emulatori, simulatori e dispositivi fisici. In Mac, xaml Ricaricamento rapido è disponibile in Android, iOS e Mac Catalyst su emulatori, simulatori e dispositivi fisici. In tutti i casi, xaml Ricaricamento rapido richiede che la configurazione di debug sia denominata Debug.

Importante

Il Ricaricamento rapido XAML non ricarica il codice C#. Se aggiungi un nuovo gestore eventi nel codice, può essere usato solo in XAML dopo che il codice viene ricaricato. Inoltre, se aggiungi un nuovo elemento XAML con un x:Nameoggetto , il nome non può essere usato nel codice finché il codice non viene ricaricato.

Ricaricamento pagina completa

In alcuni casi è possibile che xaml Ricaricamento rapido non aggiorni l'app in esecuzione come previsto. Ad esempio, è possibile modificare una proprietà colore in un controllo MAUI .NET ma non visualizzare la modifica del colore nell'app in esecuzione. Per risolvere questi problemi, puoi ricaricare completamente il file XAML facendo clic sul pulsante della barra degli strumenti Ricaricamento rapido o premendo ALT+F10. Verranno ricaricati solo i file XAML modificati. L'eccezione è se modifichi un file del dizionario risorse, nel qual caso tutti i file XAML verranno ricaricati per applicare nuove risorse.

Importante

Quando XAML viene ricaricato, alcuni stati dell'interfaccia utente potrebbero andarsi persi, ad esempio lo stato attivo e la selezione correnti.

Abilitare Ricaricamento rapido XAML

Xaml Ricaricamento rapido è abilitato per impostazione predefinita in Visual Studio 2022. Se è stato disabilitato in precedenza, può essere abilitato selezionando Opzioni > di debug > XAML Ricaricamento rapido dalla barra dei menu di Visual Studio. Nella finestra di dialogo Opzioni verificare quindi che le opzioni Abilita Ricaricamento rapido XAML, WinUI (incluso .NET MAUI) e Android e iOS (.NET MAUI) siano selezionate:

Opzioni di Ricaricamento rapido XAML per .NET MAUI in Visual Studio.

Quindi, in iOS nelle impostazioni di compilazione verificare che il linker sia impostato su "Don't Link".

Ricaricamento su più piattaforme

XAML Ricaricamento rapido supporta il debug simultaneo di più piattaforme in Visual Studio, purché siano presenti progetti head separati per ogni piattaforma anziché una singola app di progetto. Ad esempio, è possibile distribuire un'istanza di Android e una destinazione iOS contemporaneamente per visualizzare le modifiche riflesse in entrambe le piattaforme contemporaneamente. Per eseguire il debug su più piattaforme in Windows, vedere Procedura: Impostare più progetti di avvio.

Risoluzione dei problemi

L'output Ricaricamento rapido XAML visualizza i messaggi di stato che possono essere utili per la risoluzione dei problemi. In Visual Studio questi elementi possono essere visualizzati selezionando Visualizza output dalla barra dei menu e quindi selezionando Ricaricamento rapido nell'elenco a discesa Mostra output da: . >

Se l'Ricaricamento rapido XAML non riesce a inizializzare, è necessario assicurarsi di usare la versione più recente di .NET MAUI, la versione più recente dell'IDE e che le impostazioni del linker iOS siano impostate su Non collegare nelle impostazioni di compilazione del progetto.

Xaml Ricaricamento rapido richiede che la configurazione di debug sia denominata Debug. Se viene usata una configurazione di compilazione personalizzata, xaml Ricaricamento rapido smetterà di funzionare se la configurazione della compilazione non è denominata Debug.

Se non accade nulla quando si salva il file XAML, assicurarsi che il Ricaricamento rapido XAML sia abilitato nell'IDE. Per altre informazioni, vedere Abilitare Ricaricamento rapido XAML.

Se si apporta una modifica che il parser Ricaricamento rapido XAML vede come non valido, viene visualizzato l'errore sottolineato nell'editor e lo include nella finestra Elenco errori. Ricaricamento rapido gli errori hanno un codice di errore che inizia con "XHR" (per Ricaricamento rapido XAML). Se sono presenti errori di questo tipo nella pagina, xaml Ricaricamento rapido non applicherà modifiche all'app in esecuzione fino a quando gli errori non sono stati corretti.

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.

La disabilitazione della compilazione XAML con [XamlCompilation(XamlCompilationOptions.Skip)] non è supportata e può causare problemi con l'albero visuale attivo. Per altre informazioni sulla struttura ad albero visuale attiva, vedere Esaminare la struttura ad albero visuale di un'app MAUI .NET.