XAML derlemesi

.NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) XAML, XAML derleyicisi (XAMLC) ile doğrudan ara dile (IL) derlenmiş. XAML derlemesi birçok avantaj sunar:

  • XAML'de derleme zamanı denetimi gerçekleştirerek hataları size bildirir.
  • XAML öğeleri için bazı yük ve örnekleme süresini kaldırır.
  • Artık .xaml dosyalarını eklemeyerek son derlemenin dosya boyutunu azaltmaya yardımcı olur.

.NET MAUI uygulamalarında XAML derlemesi varsayılan olarak etkindir. XAML derlemesi, hata ayıklama yapılandırması kullanılarak oluşturulan uygulamalar için XAML'nin derleme zamanı doğrulamasını sağlar, ancak derlemede XAML'yi IL'ye dönüştürmez. Bunun yerine, XAML dosyaları uygulama paketine ekli kaynaklar olarak eklenir ve çalışma zamanında değerlendirilir. Yayın yapılandırması kullanılarak oluşturulan uygulamalar için XAML derlemesi, XAML'nin derleme zamanı doğrulamasını sağlar ve XAML'yi derlemeye yazılan IL'ye dönüştürür. Ancak, XAML derleme davranışı sınıfıyla XamlCompilationAttribute her iki yapılandırmada da geçersiz kılınabilir.

Önemli

.NET MAUI uygulamalarında veri bağlama performansını geliştirmek için derlenmiş bağlamalar etkinleştirilebilir. Daha fazla bilgi için bkz . Derlenmiş Bağlamalar.

XAML derlemesini devre dışı bırakma

XAML derlemesi, 'a XamlCompilationAttributegeçirilerek XamlCompilationOptions.Skip devre dışı bırakılabilir:

[assembly: XamlCompilation(XamlCompilationOptions.Skip)]

Bu örnekte derleme içinde XAML derlemesi devre dışıdır ve derleme zamanı yerine çalışma zamanında XAML hataları bildirilir.

XAML derlemesi, tür düzeyinde de devre dışı bırakılabilir:

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

Bu örnekte XAML derlemesi yalnızca sınıfı için MyPage devre dışı bırakılmıştır.

Uyarı

XAML daha sonra çalışma zamanında ayrıştırılıp yorumlandığından XAML derlemesini devre dışı bırakmak önerilmez ve bu da uygulama performansını düşürür.

XAML derlemesini etkinleştirme

.NET MAUI uygulamalarında XAML derlemesi varsayılan olarak etkinleştirildiğinden, deyimlerin XamlCompilation(XamlCompilationOptions.Skip) kaldırılması XAML derlemenin etkinleştirilmesini sağlar.

Alternatif olarak, XAML derlemesi öğesine geçirilerek XamlCompilationOptions.CompileXamlCompilationAttributezorla etkinleştirilebilir:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

Bu örnekte XAML derlemesi derleme içinde yer alan tüm XAML'ler için etkinleştirilir ve XAML hataları çalışma zamanı yerine derleme zamanında bildirilir.

XAML derlemesi, tür düzeyinde de etkinleştirilebilir:

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

Bu örnekte XAML derlemesi yalnızca sınıfı için MyPage etkinleştirilmiştir.