Bagikan melalui


XAML Hot Reload untuk .NET MAUI

.NET Multi-platform App UI (.NET MAUI) XAML Hot Reload adalah fitur Visual Studio yang memungkinkan Anda melihat hasil perubahan XAML di aplikasi yang sedang berjalan, tanpa harus membangun kembali proyek Anda. Tanpa XAML Hot Reload, Anda harus membuat dan menyebarkan aplikasi setiap kali Anda ingin melihat hasil perubahan XAML.

Saat aplikasi .NET MAUI Anda berjalan dalam konfigurasi debug, dengan debugger terpasang, XAML Hot Reload mengurai pengeditan XAML Anda dan mengirim perubahan tersebut ke aplikasi yang sedang berjalan. Ini mempertahankan status UI Anda, karena tidak membuat ulang UI untuk halaman lengkap, dan memperbarui properti yang diubah pada kontrol yang terpengaruh oleh pengeditan. Selain itu, status navigasi dan data Anda akan dipertahankan, memungkinkan Anda untuk melakukan iterasi dengan cepat di UI Anda tanpa kehilangan lokasi Anda di aplikasi. Oleh karena itu, Anda akan menghabiskan lebih sedikit waktu untuk membangun kembali dan menyebarkan aplikasi untuk memvalidasi perubahan UI.

Secara default, Anda tidak perlu menyimpan file XAML untuk melihat hasil pengeditan Anda. Sebagai gantinya, pembaruan diterapkan segera saat Anda mengetik. Namun, pada Windows Anda dapat mengubah perilaku ini untuk memperbarui hanya pada penyimpanan file. Hal ini dapat dicapai dengan mencentang kotak centang Terapkan XAML Hot Reload pada penyimpanan dokumen di pengaturan Hot Reload IDE yang tersedia dengan memilih Opsi> Debug > XAML Hot Reload dari bilah menu Visual Studio. Hanya memperbarui penyimpanan file terkadang dapat berguna jika Anda membuat pembaruan XAML yang lebih besar dan tidak ingin ditampilkan sampai selesai.

Catatan

Jika Anda menulis aplikasi UWP atau WPF asli, tanpa menggunakan .NET MAUI, lihat Apa itu XAML Hot Reload untuk aplikasi WPF dan UWP?.

XAML Hot Reload tersedia di Visual Studio 2022 dan Visual Studio 2022 untuk Mac. Di Windows, XAML Hot Reload tersedia di Android, iOS, dan WinUI di emulator, simulator, dan perangkat fisik. Di Mac, XAML Hot Reload tersedia di Android, iOS, dan Mac Catalyst di emulator, simulator, dan perangkat fisik.

Penting

XAML Hot Reload tidak memuat ulang kode C#, termasuk penanganan aktivitas.

Aktifkan XAML Hot Reload

XAML Hot Reload diaktifkan secara default di Visual Studio 2022. Jika sebelumnya telah dinonaktifkan, ini dapat diaktifkan dengan memilih Opsi Debug > XAML > Hot Reload dari bilah menu Visual Studio. Selanjutnya, dalam kotak dialog Opsi , pastikan bahwa opsi Aktifkan XAML Hot Reload, WinUI (termasuk .NET MAUI), dan Android dan iOS (.NET MAUI) dicentang:

XAML Hot Reload options for .NET MAUI in Visual Studio.

Kemudian, pada iOS di pengaturan build Anda, periksa apakah Linker diatur ke "Jangan Tautkan".

Muat ulang pada beberapa platform

XAML Hot Reload mendukung debugging simultan dari beberapa platform di Visual Studio dan Visual Studio untuk Mac, asalkan Anda memiliki proyek kepala terpisah per platform daripada satu aplikasi proyek. Misalnya, Anda dapat menyebarkan target Android dan iOS secara bersamaan untuk melihat perubahan yang tercermin pada kedua platform sekaligus. Untuk men-debug di beberapa platform di Windows, lihat Cara: Mengatur beberapa proyek startup. Untuk men-debug di beberapa platform di Mac, lihat Mengatur beberapa proyek startup.

Pemecahan Masalah

Output XAML Hot Reload menampilkan pesan status yang dapat membantu pemecahan masalah. Di Visual Studio, ini dapat ditampilkan dengan memilih Tampilkan Output dari bilah menu, lalu memilih Xamarin Hot Reload di menu drop-down Tampilkan output dari: .> Di Visual Studio untuk Mac, ini dapat ditampilkan dengan mengarahkan kursor mouse Anda ke XAML Hot Reload di bilah status.

Jika XAML Hot Reload gagal diinisialisasi, Anda harus memastikan bahwa Anda menggunakan versi terbaru .NET MAUI, versi terbaru IDE, dan bahwa pengaturan linker iOS Anda diatur ke Jangan Tautkan di pengaturan build proyek.

Jika tidak ada yang terjadi saat menyimpan file XAML Anda, pastikan bahwa XAML Hot Reload diaktifkan di IDE. Untuk informasi selengkapnya, lihat Mengaktifkan XAML Hot Reload.

Jika Anda membuat perubahan yang dilihat pengurai XAML Hot Reload sebagai tidak valid, itu akan menampilkan kesalahan yang digarisbawaahkan di editor dan menyertakannya di jendela Daftar Kesalahan. Kesalahan Hot Reload memiliki kode kesalahan yang dimulai dengan "XHR" (untuk XAML Hot Reload). Jika ada kesalahan seperti itu di halaman, XAML Hot Reload tidak akan menerapkan perubahan pada aplikasi yang sedang berjalan hingga kesalahan telah diperbaiki.

Anda tidak dapat menambahkan, menghapus, atau mengganti nama file atau paket NuGet selama sesi XAML Hot Reload. Jika Anda menambahkan atau menghapus file atau paket NuGet, bangun kembali dan sebarkan ulang aplikasi Anda untuk terus menggunakan XAML Hot Reload.

Menonaktifkan kompilasi XAML dengan [XamlCompilation(XamlCompilationOptions.Skip)] tidak didukung dan dapat menyebabkan masalah dengan Live Visual Tree. Untuk informasi selengkapnya tentang Live Visual Tree, lihat Memeriksa pohon visual aplikasi MAUI .NET.