İçin XAML etkin yeniden yüklemesi Xamarin.Forms

XAML etkin yeniden yükleme, üretkenliğinizi artırmak ve zamandan tasarruf etmek için mevcut iş akışınıza takılır. XAML etkin yeniden yükleme olmadan, XAML değişikliğini her istediğinizde uygulamanızı derleyip dağıtmanız gerekir. Dinamik yeniden yükleme ile XAML dosyanızı kaydettiğinizde değişiklikler, çalışan uygulamanızda canlı yansıtılır. Buna ek olarak, gezinti durumlarınız ve verileriniz korunur, böylece uygulama üzerinde yerinizi kaybetmeden Kullanıcı arabiriminizde hızlıca yineleme yapmanızı sağlar. Bu nedenle, XAML etkin yüklemesi sayesinde, Kullanıcı arabirimi değişikliklerini doğrulamak için uygulamalarınızı yeniden oluşturma ve dağıtma işlemini daha az zaman harcacaksınız.

Not

Kullanarak yerel bir UWP veya WPF uygulaması yazıyorsanız Xamarin.Forms , bkz. Xamarin.Forms.

Sistem Gereksinimleri

IDE/Framework Gerekli en düşük sürüm
Visual Studio 2019 yalnızca değişiklik modu için 16,9, tam sayfa modu için 16,4
Mac için Visual Studio 2019 yalnızca değişiklik modu için 8,9, tam sayfa modu için 8,4
Xamarin.Forms yalnızca değişiklik modu için 5.0.0.2012; tam sayfa modu için 4,1

İçin XAML etkin yeniden yüklemeyi etkinleştir Xamarin.Forms

Bir şablondan başlatıyorsanız, XAML etkin yeniden yüklemesi varsayılan olarak açık olur ve proje ek bir kurulum olmadan çalışacak şekilde yapılandırılmıştır. Bir öykünücü veya fiziksel cihazda Android, iOS veya UWP uygulamanızda hata ayıklayın ve xaml 'yi bir XAML dinamik yeniden yükleme tetiklemek üzere değiştirin.

Mevcut bir Xamarin.Forms çözümden çalışıyorsanız, XAML dinamik yeniden yükleme kullanmak için ek yükleme gerekmez, ancak en iyi deneyimi sağlamak için yapılandırmanızı iki kez denetlemeniz gerekebilir. İlk olarak, IDE ayarlarınızda etkinleştirin:

  • Windows, dinamik yeniden yüklemeiçin hata ayıklama araç seçeneklerinde XAML etkin yeniden yükle onay kutusunu (ve gerekli platformları) etkinleştir ' i işaretleyin.
    • Visual Studio 2019 ' nin önceki sürümlerinde onay kutusu, araçseçenekleriXamarinHot Reload' dır.
  • Mac 'te xamarin XAML hot reloadiçin Visual Studio tercihleri araçları ' nın adresindeki xamarin Hot reload 'i etkinleştir onay kutusunu işaretleyin.
    • Mac için Visual Studio önceki sürümlerinde, onay kutusu Visual StudiotercihleriprojesindeXamarin Hot Reload' dedir.

Ardından, Android ve iOS derleme ayarlarınızda, bağlayıcının "bağlama" veya "bağlantı yok" olarak ayarlandığından emin olun. fiziksel bir iOS cihazındaki XAML sık yeniden yükleme özelliğini kullanmak için, Mono yorumlayıcı 'yı (Visual Studio 16,4 ve üzeri) etkinleştirmeniz veya ek mtouch args (Visual Studio 16,3 ve aşağıdaki) için -yorumlayıcı eklemeniz gerekir.

Mevcut projenizin kurulumunu XAML Hot Reload ile kullanmak üzere denetlemek için aşağıdaki akış çizelgesini kullanabilirsiniz:

Xaml etkin yeniden yükleme kurulum

Sık yükleme modları

XAML dinamik yeniden yükleme iki farklı modda çalışabilir. yalnızca daha yeni değişiklikler modu ve eski tam sayfa modu.

Visual Studio 16,9 ve Mac için Visual Studio 8,9 ' den sonra varsayılan davranış, yalnızca Xamarin.Forms 5,0 veya daha yeni bir sürümü kullanan tüm uygulamalarda kullanılacak şekilde değişir. Daha eski sürümleri için Xamarin.Forms , tam sayfa modu kullanılır. bununla birlikte, dinamik yeniden yükleme ıde ayarlarındaki tüm uygulamalar için tam sayfa modunu kullanmaya zorlayabilirsiniz (Windowsaraçseçenekleri veya XamarinXAML hot reload Mac için Visual Studio tercihleri araçları).

Yalnızca değişiklik modu , bir düzenleme yaparken tam olarak nelerin değiştiğini görmek için XAML 'yi ayrıştırır ve yalnızca bu değişiklikleri çalışan uygulamada gönderir. Bu, WPF ve UWP Hot Reload yüklemesi için kullanılan teknolojiden de aynıdır. Tam sayfa için Kullanıcı arabirimini yeniden oluşturmazsa, düzenlemelerle etkilenen denetimlerde değiştirilen özellikleri güncellemek için UI durumunu korur. Yalnızca değişiklik modu canlı görsel ağaçkullanımını da sunar.

Varsayılan olarak, yalnızca değişiklik moduyla, değişiklikleri görmek için dosyanızı kaydetmeniz gerekmez; siz yazarken güncelleştirmeler hemen uygulanır. Ancak, bu davranışı yalnızca dosya kaydetme sırasında güncelleştirilecek şekilde değiştirebilirsiniz. bu, dinamik yeniden yükleme ıde ayarlarındaki belge kaydetme onay kutusu 'nda (şu anda yalnızca Windows kullanılabilir) XAML üzerinde etkin yeniden yükleme uygula onay kutusunu işaretleyerek gerçekleştirilebilir. Yalnızca belge kaydetmede güncelleştirme, büyük XAML güncelleştirmeleri yaparsanız ve tamamlanana kadar görüntülenmesini istemiyorsanız yararlı olabilir.

Tam sayfa modu , düzenleme yaptıktan ve kaydettikten sonra tam xaml dosyasını çalışan uygulamaya gönderir. Çalışan uygulama daha sonra, denetimlerini yeniden oluşturarak sayfayı yeniden yükler. Kullanıcı arabirimi yenilemesini görürsünüz.

Yalnızca değişiklik modu, sık yeniden yükleme 'nin geleceği ve mümkün olduğunda kullanılması önerilir. Bu hızlı, UI durumunu korur ve canlı görsel ağacıdestekler. Henüz 5,0 ' a güncelleştirilmemiş uygulamalar için tam sayfa modu yine de sağlanır Xamarin.Forms .

Not

Modları değiştirirken hata ayıklama oturumunu yeniden başlatmanız gerekir.

XAML hataları

Yalnızca değişiklik modu: değişiklik yaparsanız, etkin YENIDEN yükleme XAML ayrıştırıcısı geçersiz olarak görür, düzenleyicide hatayı altı çizili olarak gösterir ve hatalar penceresine dahil eder. Bu sık yükleme hataları "XHR" ile başlayan bir hata koduna sahiptir (XAML dinamik yeniden yükleme için). Sayfada bu tür hatalar varsa, sık yeniden yükleme, sayfanın diğer bölümlerinde yapılmış olsa bile değişiklikleri uygular. Sayfa için yeniden çalışmaya başlamak üzere, dinamik yeniden yükleme için tüm hataları düzeltir.

Tam sayfa modu: XAML etkin yeniden yükleme 'nin yeniden yükleyemeyecek bir değişiklik yaparsanız, düzenleyicide hatayı altı çizili olarak gösterir ve hatalar penceresine ekler. İşlenmemiş düzenlemeleri olarak bilinen bu değişiklikler, XAML 'nizi yanlış yazmayı veya bir denetimi mevcut olmayan bir olay işleyicisine kablolarını ekler. Bir işlenmemiş düzenleme ile birlikte, uygulamayı yeniden başlatmadan yeniden yüklemeye devam edebilirsiniz; xaml dosyasında başka bir değişiklik yapın ve Kaydet ' e basın. İşlenmemiş düzenleme yeniden yüklenmez, ancak diğer değişiklikleriniz uygulamaya devam edecek.

Aynı anda birden çok platformda yeniden yükleme

XAML Hot Reload, Visual Studio ve Mac için Visual Studio aynı anda hata ayıklamayı destekler. Aynı anda her iki platformda da yaptığınız değişiklikleri görmek için bir Android ve iOS hedefini aynı zamanda dağıtabilirsiniz. Birden çok platformda hata ayıklamak için bkz.:

Bilinen sınırlamalar

  • Xamarin.Forms Android, iOS ve UWP dışındaki hedefler (örneğin, macOS) Şu anda desteklenmemektedir.
  • [XamlCompilation (XamlCompilationOptions. Skip)] kullanımı, XAML derlemesini devre dışı bırakmak desteklenmez ve canlı görsel ağaç ile sorun oluşmasına neden olabilir.
  • XAML etkin yeniden yükleme oturumunda dosya veya NuGet paketlerini ekleyemez, kaldıramaz veya yeniden adlandıramazsınız. bir dosya veya NuGet paketini ekler veya kaldırırsanız, XAML dinamik yeniden yükleme kullanmaya devam etmek için uygulamanızı yeniden derleyin ve dağıtın.
  • En iyi deneyim için bağlayıcıyı bağlama veya bağlama yok olarak ayarlayın. Yalnızca bağlantı SDK 'sı ayarı çoğu zaman işe yarar, ancak bazı durumlarda başarısız olabilir. Bağlayıcı ayarları, Android ve iOS derleme seçeneklerinizde bulunabilir.
  • fiziksel bir iPhone hata ayıklaması için, yorumlayıcı XAML dinamik yeniden yükleme kullanması gerekir. Bunu yapmak için, proje ayarlarını açın, iOS Build sekmesini seçin ve mono yorumlayıcı ayarının etkinleştirildiğinden emin olun. Özellik sayfasının en üstündeki Platform seçeneğini iPhoneolarak değiştirmeniz gerekebilir.
  • XAML Hot reload, olay işleyicileri, özel denetimler, sayfa kodu arka plan kodu ve ek sınıflar dahil olmak üzere C# kodunu yeniden yükleyemiyor.

Sorun giderme

  • Sorun gidermeye yardımcı olabilecek durum iletilerini görmek için XAML etkin yeniden yükleme çıktısını alın:
    • Windows: çıktıyı görüntüleile çıktıyı açın ve çıktıyı göster altında Xamarin Hot Reload ' i seçin: üstteki
    • Mac: Bu paneli göstermek için durum çubuğunda xaml üzerinde etkin yeniden yükleme üzerine gelin
  • XAML etkin yeniden yükleme başlatılamazsa:
    • Sürümünüzü güncelleştirin Xamarin.Forms .
    • IDE 'nin en son sürümünde olduğunuzdan emin olun.
    • Android veya iOS bağlayıcı ayarlarınızı, projenin derleme ayarlarında bağlantı yok olarak ayarlayın.
  • XAML dosyanızı kaydederken hiçbir şey olmuyorsa, IDE 'de XAML Hot Reload özelliğinin etkinleştirildiğinden emin olun.
  • fiziksel bir iPhone hata ayıklaması yapıyorsanız ve uygulamanız yanıt vermezse, yorumlayıcı 'nın etkin olup olmadığını denetleyin. açmak için, Visual Studio Mono yorumlayıcı 'yı etkinleştirin (16.4/8.4 ve up) veya iOS derleme ayarlarınızda ek mtouch bağımsız değişkenleri alanına (Visual Studio 16.3/8.3 ve öncesi) ekleme -yorumlayıcı seçeneğini işaretleyin.

bir hatayı raporlamak için, Windows bir sorun bildirin ve Mac 'tesorun bildir ' e başvurun.