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.