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.