Kompilace XAML
.NET Multi-platform App UI (.NET MAUI) XAML se kompiluje přímo do zprostředkujícího jazyka (IL) pomocí kompilátoru XAML (XAMLC). Kompilace XAML nabízí řadu výhod:
- Provádí kontrolu času kompilace XAML a upozorní vás na případné chyby.
- Odebere určitou dobu načítání a vytváření instancí elementů XAML.
- Pomáhá zmenšit velikost souboru konečného sestavení tím, že už neobsahuje soubory .xaml.
Kompilace XAML je ve výchozím nastavení povolená v aplikacích .NET MAUI. U aplikací vytvořených pomocí konfigurace ladění poskytuje kompilace XAML ověření doby kompilace XAML, ale nepřevádí XAML na IL v sestavení. Místo toho jsou soubory XAML zahrnuté jako vložené prostředky v balíčku aplikace a vyhodnoceny za běhu. U aplikací vytvořených pomocí konfigurace vydané verze poskytuje kompilace XAML ověření doby kompilace XAML a převede XAML na IL, který je zapsán do sestavení. Chování kompilace XAML je však možné přepsat v obou konfiguracích třídy XamlCompilationAttribute .
Důležité
Zkompilované vazby je možné povolit ke zlepšení výkonu datových vazeb v aplikacích .NET MAUI. Další informace naleznete v tématu Kompilované vazby.
Zakázání kompilace XAML
Kompilaci XAML je možné zakázat předáním XamlCompilationOptions.Skip
kódu XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Skip)]
V tomto příkladu je kompilace XAML v rámci sestavení zakázaná, protože chyby XAML se hlásí za běhu, nikoli v době kompilace.
Kompilaci XAML je také možné zakázat na úrovni typu:
[XamlCompilation (XamlCompilationOptions.Skip)]
public partial class MyPage : ContentPage
{
...
}
V tomto příkladu je kompilace XAML zakázána pouze pro MyPage
třídu.
Upozorňující
Zakázání kompilace XAML se nedoporučuje, protože XAML se pak parsuje a interpretuje za běhu, což snižuje výkon aplikace.
Povolení kompilace XAML
Vzhledem k tomu, že kompilace XAML je ve výchozím nastavení povolená v aplikacích .NET MAUI, odebrání všech XamlCompilation(XamlCompilationOptions.Skip)
příkazů zajistí, že je povolená kompilace XAML.
Alternativně lze kompilaci XAML vynutit předáním XamlCompilationOptions.Compile
kódu XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
V tomto příkladu je kompilace XAML povolena pro všechny XAML obsažené v sestavení, přičemž chyby XAML jsou hlášeny v době kompilace místo modulu runtime.
Kompilaci XAML je také možné povolit na úrovni typu:
[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
...
}
V tomto příkladu MyPage
je kompilace XAML povolena pouze pro třídu.