Kompilacja XAML
Język XAML aplikacji wieloplatformowej platformy .NET (.NET MAUI) jest kompilowany bezpośrednio w języku pośrednim (IL) za pomocą kompilatora XAML (XAMLC). Kompilacja XAML oferuje szereg korzyści:
- Wykonuje sprawdzanie czasu kompilacji kodu XAML, powiadamiając o wszelkich błędach.
- Usuwa część czasu ładowania i tworzenia wystąpień dla elementów XAML.
- Pomaga to zmniejszyć rozmiar pliku końcowego zestawu, nie dołączając już plików xaml.
Kompilacja XAML jest domyślnie włączona w aplikacjach .NET MAUI. W przypadku aplikacji utworzonych przy użyciu konfiguracji debugowania kompilacja XAML zapewnia walidację czasu kompilacji XAML, ale nie konwertuje kodu XAML na IL w zestawie. Zamiast tego pliki XAML są dołączane jako zasoby osadzone w pakiecie aplikacji i oceniane w czasie wykonywania. W przypadku aplikacji utworzonych przy użyciu konfiguracji wydania kompilacja XAML zapewnia walidację czasu kompilacji XAML i konwertuje kod XAML na język IL zapisany w zestawie. Jednak zachowanie kompilacji XAML może zostać zastąpione w obu konfiguracjach z klasą XamlCompilationAttribute .
Ważne
Skompilowane powiązania można włączyć, aby zwiększyć wydajność powiązań danych w aplikacjach MAUI platformy .NET. Aby uzyskać więcej informacji, zobacz Skompilowane powiązania.
Wyłączanie kompilacji XAML
Kompilację XAML można wyłączyć, przekazując XamlCompilationOptions.Skip
element do elementu XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Skip)]
W tym przykładzie kompilacja XAML jest wyłączona w zestawie, a błędy XAML są zgłaszane w czasie wykonywania, a nie w czasie kompilacji.
Kompilacja XAML może być również wyłączona na poziomie typu:
[XamlCompilation (XamlCompilationOptions.Skip)]
public partial class MyPage : ContentPage
{
...
}
W tym przykładzie kompilacja XAML jest wyłączona tylko dla MyPage
klasy.
Ostrzeżenie
Wyłączenie kompilacji XAML nie jest zalecane, ponieważ kod XAML jest następnie analizowany i interpretowany w czasie wykonywania, co zmniejszy wydajność aplikacji.
Włączanie kompilacji XAML
Ponieważ kompilacja XAML jest domyślnie włączona w aplikacjach .NET MAUI, usunięcie wszystkich XamlCompilation(XamlCompilationOptions.Skip)
instrukcji zapewni włączenie kompilacji XAML.
Alternatywnie kompilacja XAML może być wymuszona przez przekazanie XamlCompilationOptions.Compile
do elementu XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
W tym przykładzie kompilacja XAML jest włączona dla całego kodu XAML zawartego w zestawie, a błędy XAML są zgłaszane w czasie kompilacji, a nie w czasie wykonywania.
Kompilacja XAML może być również włączona na poziomie typu:
[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
...
}
W tym przykładzie kompilacja XAML jest włączona tylko dla MyPage
klasy.