Delen via


Problemen met XAML Hot Reload oplossen

Van toepassing op: Visual Studio 2019 en latere versies

Deze handleiding voor probleemoplossing bevat gedetailleerde instructies waarmee de meeste problemen moeten worden opgelost die voorkomen dat XAML Hot Reload correct werkt.

XAML Hot Reload wordt ondersteund voor WPF- en UWP-apps. Zie Schrijven en fouten opsporen in het uitvoeren van XAML-code met XAML Hot Reload voor meer informatie over de vereisten voor het besturingssysteem en hulpprogramma's.

Als Hot Reload niet beschikbaar is

Als u het bericht Hot Reload is not available op de werkbalk in de app ziet tijdens het opsporen van fouten in uw app, volgt u de instructies in dit artikel om het probleem op te lossen.

Controleer of XAML Hot Reload is ingeschakeld

De functie is standaard ingeschakeld in Visual Studio 2019 en latere versies. Wanneer u begint met het opsporen van fouten in uw app, controleert u of u de werkbalk in de app ziet, waarmee wordt bevestigd dat XAML Hot Reload beschikbaar is.

Visual Studio 2019:

Schermopname van de werkbalk 'XAML Hot Reload available' in Visual Studio 2019.

Visual Studio 2022:

Schermopname van de werkbalk 'XAML Hot Reload available' in Visual Studio 2022.

Als u de werkbalk in de app niet ziet, selecteert u Foutopsporingsopties>>XAML Hot Reload in de menubalk van Visual Studio. Controleer vervolgens in het dialoogvenster Opties of de optie XAML Hot Reload inschakelen is geselecteerd.

Schermopname van het venster Opties voor foutopsporing in Visual Studio, met de optie XAML Hot Reload inschakelen gemarkeerd.

Controleer of u Foutopsporing starten gebruikt in plaats van Koppelen aan proces

XAML Hot Reload vereist dat de omgevingsvariabele ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO is ingesteld 1 op op het moment dat de toepassing wordt gestart. Visual Studio stelt de waarde automatisch in als onderdeel van de opdracht Foutopsporing>starten (of F5). Als u in plaats daarvan XAML Hot Reload wilt gebruiken met de opdracht Foutopsporing>koppelen aan proces , stelt u de omgevingsvariabele zelf in.

Opmerking

Als u een omgevingsvariabele wilt instellen, gebruikt u de knop Start om te zoeken naar een omgevingsvariabele en kiest u De omgevingsvariabelen van het systeem bewerken. Kies omgevingsvariabelen in het dialoogvenster dat wordt geopend, voeg deze toe als een gebruikersvariabele en stel de waarde in op 1. Als u wilt opschonen, verwijdert u de variabele wanneer u klaar bent met foutopsporing.

Controleer of uw MSBuild-eigenschappen juist zijn

Standaard wordt brongegevens opgenomen in een foutopsporingsconfiguratie. Dit wordt beheerd door MSBuild-eigenschappen in uw projectbestanden (zoals *.csproj). Voor WPF is XamlDebuggingInformationde eigenschap , die moet worden ingesteld op True. Voor UWP is DisableXbfLineInfode eigenschap , die moet worden ingesteld op False. Bijvoorbeeld:

WPF:

<XamlDebuggingInformation>True</XamlDebuggingInformation>

UWP:

<DisableXbfLineInfo>False</DisableXbfLineInfo>

Controleer of u de juiste buildconfiguratienaam gebruikt

U moet de juiste MSBuild-eigenschap handmatig instellen ter ondersteuning van XAML Hot Reload (zie vorige sectie), of u moet de standaard buildconfiguratienaam (Foutopsporing) gebruiken. Als u de eigenschap MSBuild niet correct instelt, werkt een aangepaste buildconfiguratienaam niet en ook geen Release-build.

Zorg ervoor dat uw programma niet met verhoogde bevoegdheid wordt uitgevoerd

XAML Hot Reload wordt niet ondersteund in apps die met verhoogde bevoegdheid/als administrator worden uitgevoerd.

Controleer of uw XAML-bestand geen fouten bevat

Als uw XAML-bestand fouten bevat in de foutenlijst, werkt XAML Hot Reload mogelijk niet.

Grondiger zoeken inschakelen om resourceverwijzingen en -stijlen bij te werken in Visual Studio 2022

Als u de XAML_HOT_RELOAD_ACCURACY_OVER_PERF omgevingsvariabele instelt op een uitgebreidere zoekopdracht om resourceverwijzingen en -stijlen in WPF-toepassingen bij te 1 werken. Houd er rekening mee dat sommige toepassingen, zoals toepassingen die gebruikmaken van toolkits van derden, aanzienlijke vertragingen kunnen ondervinden met XAML Hot Reload. Wanneer er een vertraging optreedt, wordt een timer voor de voortgang van het dynamisch opnieuw laden weergegeven in Editor statusbalk.

Schermopname van de 'XAML Hot Reload progress progress timer' in Visual Studio 2022.

Bekende beperkingen

Hier volgen bekende beperkingen van XAML Hot Reload. Als u een beperking wilt omzeilen die u ondervindt, stopt u het foutopsporingsprogramma en voltooit u de bewerking.

Beperking WPF UWP Opmerkingen
Gebeurtenissen bedraden om te bepalen terwijl de app wordt uitgevoerd Niet ondersteund Niet ondersteund Zie fout: Controleren of gebeurtenis is mislukt. In WPF kunt u verwijzen naar een bestaande gebeurtenis-handler. In UWP-apps wordt het verwijzen naar een bestaande gebeurtenis-handler niet ondersteund.
Resourceobjecten maken in een resourcewoordenlijst, zoals in de pagina/het venster van uw app of App.xaml Ondersteund vanaf Visual Studio 2019 versie 16.2 en hoger Ondersteund Voorbeelden: -
Een toevoegen SolidColorBrush aan een resourcewoordenlijst voor gebruik als een StaticResource.
Opmerking: Statische resources, stijlconversieprogramma's en andere elementen die in een resourcewoordenlijst zijn geschreven, kunnen worden toegepast/gebruikt tijdens het gebruik van XAML Hot Reload. Alleen het maken van de resource wordt niet ondersteund.
- De resourcewoordenlijsteigenschap Source wijzigen.
Nieuwe besturingselementen, klassen, vensters of andere bestanden toevoegen aan uw project terwijl de app wordt uitgevoerd Niet ondersteund Niet ondersteund Geen
NuGet-pakketten beheren (pakketten toevoegen/verwijderen/bijwerken) Niet ondersteund Niet ondersteund Geen
Gegevensbinding wijzigen die gebruikmaakt van de markeringsextensie {x:Bind} N.v.t. Ondersteund vanaf Visual Studio 2019 Hiervoor is Windows 10 versie 1809 (build 10.0.17763) en hoger vereist. Niet ondersteund in Visual Studio 2017 of eerdere versies.
X:Uid-instructies wijzigen N.v.t. Niet ondersteund Geen
Meerdere processen gebruiken Ondersteund Ondersteund Wordt ondersteund in Visual Studio 2019 versie 16.6 en hoger.
Stijlen bewerken in thema's\generic.xaml Niet ondersteund Niet ondersteund XAML Hot Reload maakt nieuwe stijlen; de oorspronkelijke zijn verzegeld. Platforms slaan stijlen van generic.xaml in de cache op nadat ze zijn toegepast op besturingselementen, waardoor ze niet toegankelijk zijn voor vervanging.

Foutberichten

U kunt de volgende fouten tegenkomen tijdens het gebruik van XAML Hot Reload.

Foutbericht Beschrijving
Ervoor zorgen dat gebeurtenis is mislukt Fout geeft aan dat u een gebeurtenis probeert door te verbinden met een van uw besturingselementen, die niet wordt ondersteund terwijl uw toepassing wordt uitgevoerd.
Deze wijziging wordt niet ondersteund door XAML Hot Reload en wordt niet toegepast tijdens de foutopsporingssessie. Fout geeft aan dat de wijziging die u probeert, niet wordt ondersteund door XAML Hot Reload. Stop de foutopsporingssessie, breng de wijziging aan en start de foutopsporingssessie opnieuw.

Als u een niet-ondersteund scenario vindt dat u ondersteund wilt zien, laat het ons dan weten met behulp van de optie Een functie voorstellen .