Opětovné načítání za provozu XAML pro .NET MAUI

.NET Multi-platform App UI (.NET MAUI) XAML Opětovné načítání za provozu je funkce sady Visual Studio, která umožňuje zobrazit výsledek změn XAML ve spuštěné aplikaci, aniž byste museli znovu sestavit projekt. Bez Opětovné načítání za provozu XAML musíte aplikaci sestavit a nasadit pokaždé, když chcete zobrazit výsledek změny XAML.

Když je vaše aplikace .NET MAUI spuštěná v konfiguraci ladění, je připojen ladicí program, XAML Opětovné načítání za provozu parsuje úpravy XAML a odesílá tyto změny do spuštěné aplikace. Zachová váš stav uživatelského rozhraní, protože znovu nevytvoře uživatelské rozhraní pro celou stránku a aktualizuje změněné vlastnosti ovládacích prvků ovlivněných úpravami. Kromě toho se zachová stav navigace a data, což vám umožní rychle iterovat v uživatelském rozhraní bez ztráty umístění v aplikaci. Proto strávíte méně času opětovném sestavením a nasazením aplikací, abyste ověřili změny uživatelského rozhraní.

Ve výchozím nastavení nemusíte soubor XAML ukládat, abyste viděli výsledky úprav. Místo toho se aktualizace použijí okamžitě při psaní. Ve Windows ale toto chování můžete změnit tak, aby se aktualizovalo pouze při ukládání souborů. Toho lze dosáhnout zaškrtnutím políčka Použít Opětovné načítání za provozu XAML v nastavení Opětovné načítání za provozu IDE, která jsou k dispozici, výběrem možnosti ladění >> XAML Opětovné načítání za provozu na řádku nabídek sady Visual Studio. Aktualizace při ukládání souborů může být někdy užitečná, pokud provedete větší aktualizace XAML a nechcete, aby se zobrazovaly, dokud nebudou dokončeny.

Poznámka:

Pokud píšete nativní aplikaci UPW nebo WPF bez použití rozhraní .NET MAUI, přečtěte si téma Co je XAML Opětovné načítání za provozu pro aplikace WPF a UPW?.

Opětovné načítání za provozu XAML je k dispozici v sadě Visual Studio 2022 i v sadě Visual Studio 2022 pro Mac. Ve Windows je Opětovné načítání za provozu XAML k dispozici v systémech Android, iOS a WinUI v emulátorech, simulátorech a fyzických zařízeních. Na Macu je Opětovné načítání za provozu XAML k dispozici na Androidu, iOSu a Mac Catalystu na emulátorech, simulátorech a fyzických zařízeních. Ve všech případech Opětovné načítání za provozu XAML vyžaduje, aby vaše konfigurace ladění byla pojmenována Debug.

Důležité

Opětovné načítání za provozu XAML znovu nenačte kód jazyka C#. Pokud do kódu přidáte novou obslužnou rutinu události, dá se použít pouze v jazyce XAML po opětovném načtení kódu. Kromě toho, pokud přidáte nový prvek XAML s , x:Namenázev nelze použít v kódu, dokud se kód znovu nenačte.

Opětovné načtení celé stránky

V případech, kdy xaml Opětovné načítání za provozu neaktualizuje spuštěnou aplikaci podle očekávání. Můžete například změnit vlastnost barvy v ovládacím prvku .NET MAUI, ale neuvidíte změnu barvy ve spuštěné aplikaci. Pokud chcete tyto problémy obejít, můžete soubor XAML úplně znovu načíst kliknutím na tlačítko panelu nástrojů Opětovné načítání za provozu nebo stisknutím alt+F10. Znovu se načtou jenom upravené soubory XAML. Výjimkou je, když změníte soubor slovníku prostředků, v takovém případě se všechny soubory XAML znovu načtou, aby se použily nové prostředky.

Důležité

Při opětovném načtení XAML může dojít ke ztrátě stavu uživatelského rozhraní, například aktuální fokus a výběr.

Povolení Opětovné načítání za provozu XAML

Opětovné načítání za provozu XAML je ve výchozím nastavení v sadě Visual Studio 2022 povolené. Pokud už byla dříve zakázaná, můžete ji povolit tak, že v řádku nabídek sady Visual Studio vyberete Opětovné načítání za provozu Možnosti > ladění > XAML. Dále v dialogovém okně Možnosti zkontrolujte, že jsou zaškrtnuté možnosti Povolit Opětovné načítání za provozu XAML, WinUI (včetně .NET MAUI) a Android a iOS (.NET MAUI):

Možnosti Opětovné načítání za provozu XAML pro .NET MAUI v sadě Visual Studio.

Potom v iOSu v nastavení sestavení zkontrolujte, jestli je linker nastavený na Ne linker.

Opětovné načtení na více platformách

XAML Opětovné načítání za provozu podporuje současné ladění více platforem v sadě Visual Studio za předpokladu, že máte samostatné hlavní projekty na platformu, a ne jednu projektovou aplikaci. Můžete například nasadit cíl pro Android a iOS najednou, abyste viděli změny, které se projeví na obou platformách najednou. Ladění na více platformách ve Windows najdete v tématu Postupy: Nastavení více projektů po spuštění.

Řešení problému

Výstup Opětovné načítání za provozu XAML zobrazuje stavové zprávy, které vám můžou pomoct s řešením potíží. V sadě Visual Studio je možné je zobrazit výběrem možnosti Zobrazit > výstup z řádku nabídek a následným výběrem Opětovné načítání za provozu v rozevíracím seznamu Zobrazit výstup z:

Pokud se Opětovné načítání za provozu XAML nepodaří inicializovat, ujistěte se, že používáte nejnovější verzi rozhraní .NET MAUI, nejnovější verzi integrovaného vývojového prostředí (IDE) a že nastavení linkeru pro iOS je v nastavení sestavení projektu nastavené na Ne linkovat.

OPĚTOVNÉ NAČÍTÁNÍ ZA PROVOZU XAML vyžaduje, aby vaše konfigurace ladění byla pojmenována Debug. Pokud se použije konfigurace vlastního sestavení, Opětovné načítání za provozu XAML přestane fungovat, pokud není konfigurace sestavení pojmenovaná Debug.

Pokud se při ukládání souboru XAML nic nestane, ujistěte se, že je v integrovaném vývojovém prostředí povolené Opětovné načítání za provozu XAML. Další informace najdete v tématu Povolení Opětovné načítání za provozu XAML.

Pokud provedete změnu, kterou analyzátor XAML Opětovné načítání za provozu uvidí jako neplatný, zobrazí se v editoru podtržené chyby a zahrne ji do okna Seznam chyb. Opětovné načítání za provozu chyby obsahují kód chyby začínající na XHR (pro Opětovné načítání za provozu XAML). Pokud na stránce dojde k nějakým takovým chybám, Opětovné načítání za provozu XAML neproběhne změny spuštěné aplikace, dokud se chyby neopraví.

Během relace Opětovné načítání za provozu XAML nemůžete přidávat, odebírat ani přejmenovávat soubory ani balíčky NuGet. Pokud přidáte nebo odeberete soubor nebo balíček NuGet, znovu sestavte a nasaďte aplikaci a pokračujte v používání xaml Opětovné načítání za provozu.

Zakázání kompilace XAML se [XamlCompilation(XamlCompilationOptions.Skip)] nepodporuje a může způsobit problémy se stromem živého vizuálu. Další informace o živém vizuálním stromu najdete v tématu Kontrola vizuálního stromu aplikace .NET MAUI.