Problembehandlung beim Neuladen von XAML im laufenden Betrieb

Dieser Leitfaden zur Problembehandlung enthält ausführliche Anweisungen, die die meisten Probleme beheben sollten, die verhindern, dass XAML Hot Reload ordnungsgemäß funktionieren.

XAML Hot Reload wird für WPF- und UWP-Apps unterstützt. Ausführliche Informationen zu Betriebssystem- und Toolanforderungen finden Sie unter Schreiben und Debuggen von ausgeführtem XAML-Code mit XAML Hot Reload.

Hot Reload ist nicht verfügbar

Wenn während des Debuggens Ihrer App die Meldung "Hot Reload ist nicht verfügbar" auf der In-App-Symbolleiste angezeigt wird, befolgen Sie die Anweisungen in diesem Artikel, um das Problem zu beheben.

Überprüfen, ob XAML Hot Reload aktiviert ist

Das Feature ist standardmäßig aktiviert. Wenn Sie mit dem Debuggen Ihrer App beginnen, stellen Sie sicher, dass die In-App-Symbolleiste angezeigt wird, die bestätigt, dass XAML Hot Reload verfügbar ist:

XAML Hot Reload verfügbar

Wenn die In-App-Symbolleiste nicht angezeigt wird, öffnen Sie > Debugoptionen > Allgemein. Stellen Sie sicher, dass beide Optionen Enable UI Debugging Tools for XAML (UI-Debugtools für XAML aktivieren) und Enable XAML Hot Reload (XAML Hot Reload aktivieren) ausgewählt sind.

Screenshot: Fenster "Debugoptionen" Visual Studio Allgemeine Debugoptionen sind ausgewählt, und die Option XAML Hot Reload aktivieren ist aktiviert.

Wenn diese Optionen ausgewählt sind, wechseln Siezu Visuelle Livestruktur ( > Debuggen Windows > visuelle Livestruktur), und stellen Sie sicher, dass die Schaltfläche Laufzeittools in der Anwendungssymbolleiste anzeigen (ganz links) ausgewählt ist.

Screenshot der Symbolleiste am oberen Rand des Fensters "Visuelle Livestruktur" mit ausgewählter Schaltfläche "Laufzeittools in Anwendung anzeigen"

Vergewissern Sie sich, dass Sie Debuggen starten anstelle von An den Prozess anhängen verwenden.

XAML Hot Reload erfordert, dass die Umgebungsvariable ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO zum Zeitpunkt des Anwendungsstarts auf 1 festgelegt ist. Visual Studio legt dies automatisch als Teil des > Befehls Debuggendebuggen starten (oder F5) fest. Wenn Sie stattdessen XAML Hot Reload mit dem Befehl > Debuggen an den Prozess anhängen verwenden möchten, legen Sie die Umgebungsvariable selbst fest.

Hinweis

Um eine Umgebungsvariable festzulegen, verwenden Sie die Schaltfläche "Start", um nach "Umgebungsvariable" zu suchen, und wählen Sie Die Systemumgebungsvariablen bearbeiten aus. Wählen Sie im daraufhin geöffneten Dialogfeld Umgebungsvariablen aus, fügen Sie sie als Benutzervariable hinzu, und legen Sie den Wert auf 1 fest. Entfernen Sie zum Bereinigen die Variable, wenn Sie das Debuggen abgeschlossen haben.

Vergewissern Sie sich, dass ihre MSBuild Eigenschaften korrekt sind.

Standardmäßig sind Quellinformationen in einer Debugkonfiguration enthalten. Sie wird durch MSBuild Eigenschaften in Ihren Projektdateien gesteuert (z.B. *.csproj). Für WPF ist die -Eigenschaft XamlDebuggingInformation , die auf festgelegt werden True muss. Für UWP ist die -Eigenschaft DisableXbfLineInfo , die auf festgelegt werden False muss. Beispiel:

WPF:

<XamlDebuggingInformation>True</XamlDebuggingInformation>

Uwp:

<DisableXbfLineInfo>False</DisableXbfLineInfo>

Überprüfen Sie, ob Sie den richtigen Buildkonfigurationsnamen verwenden.

Sie müssen entweder manuell die richtige MSBuild Eigenschaft festlegen, um XAML Hot Reload zu unterstützen (siehe vorheriger Abschnitt), oder Sie müssen den Standardmäßigen Buildkonfigurationsnamen (Debuggen) verwenden. Wenn Sie die MSBuild-Eigenschaft nicht ordnungsgemäß festlegen, funktioniert weder ein benutzerdefinierter Buildkonfigurationsname noch ein Releasebuild.

Vergewissern Sie sich, dass ihre XAML-Datei keine Fehler enthält.

Wenn ihre XAML-Datei Fehler in der Fehlerliste anzeigt, funktionieren XAML Hot Reload möglicherweise nicht.

Siehe auch

Schreiben und Debuggen von ausgeführtem XAML-Code mit XAML Hot Reload