Kompilace XAML

Rozhraní .NET UI pro více platforem (.NET MAUI) XAML je kompilováno přímo do jazyka IL (Intermediate Language) s kompilátorem XAML (XAMLC). Kompilace XAML nabízí řadu výhod:

  • Provádí kontrolu v době kompilace XAML a oznamuje vám jakékoli chyby.
  • Odstraní některé doby načítání a vytváření instancí pro prvky jazyka XAML.
  • Pomáhá snižovat velikost souboru finálního sestavení tím, že už nezahrnuje soubory. XAML.

Kompilace XAML je ve výchozím nastavení povolená v aplikacích .NET MAUI. Pro aplikace vytvořené pomocí konfigurace ladění poskytuje kompilace XAML ověřování v době kompilace XAML, ale nepřevádí XAML na IL v sestavení. Místo toho jsou soubory XAML zahrnuty jako vložené prostředky v balíčku aplikace a vyhodnocovány za běhu. Pro aplikace vytvořené pomocí konfigurace vydané verze poskytuje kompilace XAML ověřování v době kompilace XAML a převádí XAML na IL, který je zapsán do sestavení. Chování kompilace XAML však lze přepsat v obou konfiguracích pomocí XamlCompilationAttribute třídy.

Povolit kompilaci

Kompilaci XAML lze povolit předáním XamlCompilationOptions.Compile do XamlCompilationAttribute :

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

V tomto příkladu je kompilace XAML povolena pro všechny XAML obsažené v sestavení, s chybami jazyka XAML, které jsou hlášeny v době kompilace, nikoli za běhu.

Tip

I když lze umístit na XamlCompilationAttribute libovolné místo, je dobrým místem, kde je umístěno v AssemblyInfo. cs.

Kompilaci XAML lze také povolit na úrovni typu:

[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
    ...
}

V tomto příkladu je kompilace XAML povolena pouze pro MyPage třídu.

Poznámka

Zkompilované vazby lze povolit pro zlepšení výkonu datových vazeb v aplikacích .NET MAUI. Další informace najdete v tématu zkompilované vazby.

Zakázat kompilaci

Kompilaci XAML lze zakázat předáním XamlCompilationOptions.Skip do XamlCompilationAttribute :

[assembly: XamlCompilation(XamlCompilationOptions.Skip)]

V tomto příkladu je kompilace XAML v rámci sestavení zakázána, s chybami jazyka XAML, které jsou hlášeny za běhu, nikoli během kompilace.

Kompilaci XAML lze také 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.

Upozornění

Zakázání kompilace XAML se nedoporučuje, protože XAML je pak analyzován a interpretován za běhu, což sníží výkon aplikace.