Bagikan melalui


Kompilasi XAML

.NET Multi-platform App UI (.NET MAUI) XAML dikompilasi langsung ke dalam bahasa perantara (IL) dengan kompilator XAML (XAMLC). Kompilasi XAML menawarkan sejumlah manfaat:

  • Ini melakukan pemeriksaan waktu kompilasi XAML, memberi tahu Anda tentang kesalahan apa pun.
  • Ini menghapus beberapa waktu beban dan instansiasi untuk elemen XAML.
  • Ini membantu mengurangi ukuran file perakitan akhir dengan tidak lagi menyertakan file .xaml.

Kompilasi XAML diaktifkan secara default di aplikasi .NET MAUI. Untuk aplikasi yang dibangun menggunakan konfigurasi debug, kompilasi XAML menyediakan validasi XAML waktu kompilasi, tetapi tidak mengonversi XAML ke IL di rakitan. Sebagai gantinya, file XAML disertakan sebagai sumber daya yang disematkan dalam paket aplikasi, dan dievaluasi saat runtime. Untuk aplikasi yang dibangun menggunakan konfigurasi rilis, kompilasi XAML menyediakan validasi XAML waktu kompilasi, dan mengonversi XAML ke IL yang ditulis ke rakitan. Namun, perilaku kompilasi XAML dapat ditimpa di kedua konfigurasi dengan XamlCompilationAttribute kelas .

Penting

Pengikatan yang dikompilasi dapat diaktifkan untuk meningkatkan performa pengikatan data dalam aplikasi .NET MAUI. Untuk informasi selengkapnya, lihat Pengikatan Terkompilasi.

Menonaktifkan kompilasi XAML

Kompilasi XAML dapat dinonaktifkan dengan meneruskan XamlCompilationOptions.SkipXamlCompilationAttributeke :

[assembly: XamlCompilation(XamlCompilationOptions.Skip)]

Dalam contoh ini, kompilasi XAML dinonaktifkan dalam rakitan, dengan kesalahan XAML dilaporkan pada runtime daripada kompilasi-waktu.

Kompilasi XAML juga dapat dinonaktifkan pada tingkat jenis:

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

Dalam contoh ini, kompilasi XAML hanya dinonaktifkan untuk MyPage kelas .

Peringatan

Menonaktifkan kompilasi XAML tidak disarankan karena XAML kemudian diurai dan ditafsirkan saat runtime, yang akan mengurangi performa aplikasi.

Mengaktifkan kompilasi XAML

Karena kompilasi XAML diaktifkan secara default di aplikasi .NET MAUI, menghapus pernyataan apa pun XamlCompilation(XamlCompilationOptions.Skip) akan memastikan bahwa kompilasi XAML diaktifkan.

Atau, kompilasi XAML dapat diaktifkan secara paksa dengan meneruskan XamlCompilationOptions.Compile ke XamlCompilationAttribute:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

Dalam contoh ini, kompilasi XAML diaktifkan untuk semua XAML yang terkandung dalam rakitan, dengan kesalahan XAML dilaporkan pada waktu kompilasi daripada runtime.

Kompilasi XAML juga dapat diaktifkan pada tingkat jenis:

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

Dalam contoh ini, kompilasi XAML hanya diaktifkan untuk MyPage kelas .