Risolvere i problemi relativi ai Ricaricamento rapido XAML
Si applica a: Visual Studio 2019 e versioni successive
Questa guida alla risoluzione dei problemi include istruzioni dettagliate che devono risolvere la maggior parte dei problemi che impediscono il corretto funzionamento dei Ricaricamento rapido XAML.
Il Ricaricamento rapido XAML è supportato per le app WPF e UWP. Per informazioni dettagliate sui requisiti del sistema operativo e degli strumenti, vedi Scrivere ed eseguire il debug di codice XAML in esecuzione con xaml Ricaricamento rapido.
Se Ricaricamento rapido non è disponibile
Se il messaggio Hot Reload is not available
viene visualizzato nella barra degli strumenti in-app durante il debug dell'app, seguire le istruzioni descritte in questo articolo per risolvere il problema.
Verificare che il Ricaricamento rapido XAML sia abilitato
La funzionalità è abilitata per impostazione predefinita in Visual Studio 2019 e versioni successive. Quando inizi a eseguire il debug dell'app, assicurati di visualizzare la barra degli strumenti in-app, che conferma che il Ricaricamento rapido XAML è disponibile.
Visual Studio 2019:
Visual Studio 2022:
Se la barra degli strumenti in-app non viene visualizzata, selezionareOpzioni> di debug>XAML Ricaricamento rapido dalla barra dei menu di Visual Studio. Nella finestra di dialogo Opzioni verificare quindi che sia selezionata l'opzione Abilita Ricaricamento rapido XAML.
Verificare di usare Avvia debug anziché Collega a processo
XAML Ricaricamento rapido richiede che la variabile ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO
di 1
ambiente sia impostata su al momento dell'avvio dell'applicazione. Visual Studio imposta automaticamente il valore come parte del comando Debug>Avvia debug (o F5). Se vuoi usare xaml Ricaricamento rapido con il comando Debug>Attach to Process, imposta la variabile di ambiente manualmente.
Nota
Per impostare una variabile di ambiente, usare il pulsante Start per cercare la variabile di ambiente e scegliere Modifica variabili di ambiente di sistema. Nella finestra di dialogo visualizzata scegliere Variabili di ambiente, quindi aggiungerla come variabile utente e impostare il valore 1
su . Per eseguire la pulizia, rimuovere la variabile al termine del debug.
Verificare che le proprietà di MSBuild siano corrette
Per impostazione predefinita, le informazioni di origine sono incluse in una configurazione di debug. È controllato dalle proprietà di MSBuild nei file di progetto, ad esempio *.csproj. Per WPF, la proprietà è XamlDebuggingInformation
, che deve essere impostata su True
. Per UWP, la proprietà è DisableXbfLineInfo
, che deve essere impostata su False
. Ad esempio:
WPF:
<XamlDebuggingInformation>True</XamlDebuggingInformation>
UWP:
<DisableXbfLineInfo>False</DisableXbfLineInfo>
Verificare di usare il nome di configurazione di compilazione corretto
È necessario impostare manualmente la proprietà MSBuild corretta per supportare Ricaricamento rapido XAML (vedere la sezione precedente) oppure usare il nome di configurazione di compilazione predefinito (Debug). Se non si imposta correttamente la proprietà MSBuild, un nome di configurazione di compilazione personalizzato non funzionerà, né una build di versione.
Verificare che il programma non sia in esecuzione con privilegi elevati
Il Ricaricamento rapido XAML non è supportato nelle app con privilegi elevati/eseguiti come amministratore.
Verificare che il file XAML non presenti errori
Se il file XAML mostra errori nell'elenco errori, è possibile che il Ricaricamento rapido XAML non funzioni.
Abilitare una ricerca più approfondita per aggiornare i riferimenti e gli stili delle risorse in Visual Studio 2022
L'impostazione della XAML_HOT_RELOAD_ACCURACY_OVER_PERF
variabile di ambiente su 1
consente una ricerca più completa per aggiornare i riferimenti alle risorse e gli stili nelle applicazioni WPF. Tenere presente che alcune applicazioni, ad esempio quelle che usano toolkit di terze parti, possono riscontrare ritardi significativi con i Ricaricamento rapido XAML. Quando si verifica un ritardo, viene visualizzato un timer di stato Ricaricamento rapido nella barra di stato Editor.
Limitazioni note
Di seguito sono riportate le limitazioni note dei Ricaricamento rapido XAML. Per risolvere eventuali limitazioni riscontrate, è sufficiente arrestare il debugger e quindi completare l'operazione.
Limitazione | WPF | UWP | Note |
---|---|---|---|
Collegare eventi ai controlli mentre l'app è in esecuzione | Non supportato | Non supportato | Vedere l'errore: Verificare che l'evento non sia riuscito. In WPF è possibile fare riferimento a un gestore eventi esistente. Nelle app UWP, fare riferimento a un gestore eventi esistente non è supportato. |
Creazione di oggetti risorsa in un dizionario risorse, ad esempio nella pagina/finestra dell'app o in App.xaml | Supportato a partire da Visual Studio 2019 versione 16.2 e successive | Supportato | Esempi: - Aggiunta di un SolidColorBrush oggetto in un dizionario risorse da usare come StaticResource .Nota: le risorse statiche, i convertitori di stile e altri elementi scritti in un dizionario risorse possono essere applicati/usati durante l'uso di Ricaricamento rapido XAML. Solo la creazione della risorsa non è supportata. - Modifica della proprietà del dizionario Source risorse. |
Aggiunta di nuovi controlli, classi, finestre o altri file al progetto durante l'esecuzione dell'app | Non supportato | Non supportato | Nessuno |
Gestione di pacchetti NuGet (aggiunta/rimozione/aggiornamento di pacchetti) | Non supportato | Non supportato | Nessuno |
Modifica del data binding che usa l'estensione di markup {x:Bind} | N/D | Supportato a partire da Visual Studio 2019 | Ciò richiede Windows 10 versione 1809 (build 10.0.17763) e versioni successive. Non supportato in Visual Studio 2017 o versioni precedenti. |
Modifica delle direttive x:Uid | N/D | Non supportato | Nessuno |
Uso di più processi | Supportato | Supportato | Supportato in Visual Studio 2019 versione 16.6 e successive. |
Modifica di stili in themes\generic.xaml | Non supportato | Non supportato | XAML Ricaricamento rapido crea nuovi stili. Quelli originali sono sealed. Le piattaforme memorizzano nella cache gli stili da generic.xaml dopo che sono stati applicati ai controlli, il che li rende inaccessibili per la sostituzione. |
Messaggi di errore
È possibile che si verifichino gli errori seguenti durante l'uso di Ricaricamento rapido XAML.
Messaggio di errore | Descrizione |
---|---|
Verificare che l'evento non sia riuscito | L'errore indica che si sta tentando di collegare un evento a uno dei controlli, che non è supportato durante l'esecuzione dell'applicazione. |
Questa modifica non è supportata dai Ricaricamento rapido XAML e non verrà applicata durante la sessione di debug. | L'errore indica che la modifica che stai tentando non è supportata dal Ricaricamento rapido XAML. Arrestare la sessione di debug, apportare la modifica e quindi riavviare la sessione di debug. |
Se si trova uno scenario non supportato che si vuole vedere supportato, comunicarlo tramite l'opzione Suggerisci una funzionalità .