Udostępnij za pośrednictwem


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.