Risolvere i problemi relativi alle 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.
La Ricaricamento rapido XAML è supportata 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 con Ricaricamento rapido XAML.
Se Ricaricamento rapido non è disponibile
Se viene visualizzato il messaggio Hot Reload is not available
nella barra degli strumenti in-app durante il debug dell'app, seguire le istruzioni descritte in questo articolo per risolvere il problema.
Verificare che la Ricaricamento rapido XAML sia abilitata
La funzionalità è abilitata per impostazione predefinita in Visual Studio 2019 e versioni successive. Quando si avvia il debug dell'app, assicurarsi 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 è visualizzata, selezionare Opzioni di debug>>XAML Ricaricamento rapido dalla barra dei menu di Visual Studio. Nella finestra di dialogo Opzioni verificare quindi che l'opzione Abilita Ricaricamento rapido XAML sia selezionata.
Verificare di usare Avvia debug anziché Collega a processo
Xaml Ricaricamento rapido richiede che la variabile ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO
di ambiente sia impostata su 1
all'avvio dell'applicazione. Visual Studio imposta automaticamente il valore come parte del comando Debug>Avvia debug (o F5). Se invece si vuole usare xaml Ricaricamento rapido con il comando Debug>Collega a processo, impostare manualmente la variabile di ambiente.
Note
Per impostare una variabile di ambiente, usare il pulsante Start per cercare la variabile di ambiente e scegliere Modifica le variabili di ambiente di sistema. Nella finestra di dialogo visualizzata scegliere Variabili di ambiente, quindi aggiungerla come variabile utente e impostare il valore su 1
. 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à MSBuild nei file di progetto, ad esempio *.csproj. Per WPF, la proprietà è XamlDebuggingInformation
, che deve essere impostata su True
. Per la piattaforma UWP, la proprietà è DisableXbfLineInfo
, che deve essere impostata su False
. Ad esempio:
WPF:
<XamlDebuggingInformation>True</XamlDebuggingInformation>
Piattaforma UWP:
<DisableXbfLineInfo>False</DisableXbfLineInfo>
Verificare di usare il nome di configurazione della build corretto
Devi impostare manualmente la proprietà MSBuild corretta per supportare Ricaricamento rapido XAML (vedi la sezione precedente) oppure devi usare il nome di configurazione della build predefinito (Debug). Se non si imposta correttamente la proprietà MSBuild, un nome di configurazione di compilazione personalizzato non funzionerà né verrà creata una build di rilascio.
Verificare che il programma non sia in esecuzione con privilegi elevati
Il Ricaricamento rapido XAML non è supportato nelle app che eseguono con privilegi elevati/eseguiti come amministratore.
Verificare che il file XAML non contenga errori
Se il file XAML mostra errori nell'elenco errori, il Ricaricamento rapido XAML potrebbe non funzionare.
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ù estesa 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 Ricaricamento rapido XAML. Quando si verifica un ritardo, viene visualizzato un timer di stato Ricaricamento rapido nella barra di stato dell'editor.
Limitazioni note
Di seguito sono riportate le limitazioni note delle Ricaricamento rapido XAML. Per ovviare a qualsiasi limitazione che si verifica, arrestare il debugger e quindi completare l'operazione.
Limitazione | WPF | UWP | Note |
---|---|---|---|
Collegamento di eventi ai controlli durante l'esecuzione dell'app | 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 il 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 | Supportata | Esempi: - Aggiunta di un oggetto SolidColorBrush in un dizionario risorse da usare come StaticResource .Nota: è possibile applicare/usare risorse statiche, convertitori di stili e altri elementi scritti in un dizionario risorse durante l'uso di Ricaricamento rapido XAML. Solo la creazione della risorsa non è supportata. - Modifica della proprietà del dizionario risorse Source . |
Aggiunta di nuovi controlli, classi, finestre o altri file al progetto durante l'esecuzione dell'app | Non supportato | Non supportato | None |
Gestione dei pacchetti NuGet (aggiunta/rimozione/aggiornamento di pacchetti) | Non supportato | Non supportato | None |
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 | None |
Uso di più processi | Supportata | Supportata | Supportato in Visual Studio 2019 versione 16.6 e successive. |
Modifica degli stili in themes\generic.xaml | Non supportato | Non supportato | Xaml Ricaricamento rapido crea nuovi stili; quelli originali sono sealed. Gli stili della cache delle piattaforme da generic.xaml dopo l'applicazione ai controlli, rendendoli inaccessibili per la sostituzione. |
Messaggi di errore
È possibile riscontrare gli errori seguenti durante l'uso di Ricaricamento rapido XAML.
Error message | 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 si sta tentando di provare 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 visualizzare supportato, segnalarlo usando l'opzione Suggerisci una funzionalità .