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.

Důležité

Opětovné načítání za provozu XAML znovu nenačte kód jazyka C#, včetně obslužných rutin událostí.

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):

XAML Hot Reload options for .NET MAUI in 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 a Visual Studio pro Mac 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í. Pokud chcete ladit na více platformách na Macu, přečtěte si téma 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 Xamarinu v rozevíracím seznamu Zobrazit výstup z: V Visual Studio pro Mac je možné je zobrazit tak, že na stavovém řádku najedete myší na Opětovné načítání za provozu XAML.

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.

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.