için XAML Çalışırken Yeniden YüklemeXamarin.Forms

XAML Çalışırken Yeniden Yükleme, üretkenliğinizi artırmak ve size zaman kazandırmak için mevcut iş akışınıza takılır. XAML Çalışırken Yeniden Yükleme olmadan, XAML değişikliğini her görmek istediğinizde uygulamanızı derlemeniz ve dağıtmanız gerekir. Çalışırken Yeniden Yükleme ile XAML dosyanızı kaydettiğinizde, değişiklikler çalışan uygulamanızda canlı olarak yansıtılır. Buna ek olarak, gezinti durumunuz ve verileriniz korunarak uygulamadaki yerinizi kaybetmeden kullanıcı arabiriminizde hızla yinelemenizi sağlar. Bu nedenle, XAML Çalışırken Yeniden Yükleme ile kullanıcı arabirimi değişikliklerini doğrulamak için uygulamalarınızı yeniden derlemeye ve dağıtmaya daha az zaman harcarsınız.

Not

Yerel bir UWP veya WPF uygulaması yazıyorsanız, bkzXamarin.Forms. UWP ve WPF için XAML Çalışırken Yeniden Yükleme.

Sistem gereksinimleri

IDE/Framework En Düşük Sürüm Gerekli
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

için XAML Çalışırken Yeniden Yükleme etkinleştirmeXamarin.Forms

Şablondan başlıyorsanız, XAML Çalışırken Yeniden Yükleme varsayılan olarak açıktır ve proje ek kurulum olmadan çalışacak şekilde yapılandırılır. Öykünücüde veya fiziksel cihazda Android, iOS veya UWP uygulamanızda hata ayıklayıp XAML'nizi bir XAML Çalışırken Yeniden Yükleme tetikleecek şekilde değiştirin.

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

  • Windows'da, Araçlar>Seçenekleri>Hata Ayıklama> Çalışırken Yeniden Yükleme'da XAML Çalışırken Yeniden Yükleme etkinleştir onay kutusunu (ve gerekli platformları) işaretleyin.
    • Visual Studio 2019'un önceki sürümlerinde, Araçlar>Seçenekleri>Xamarin> Çalışırken Yeniden Yükleme'de onay kutusu bulunur.
  • Mac'te, Xamarin XAML Çalışırken Yeniden Yükleme için Visual Studio>Tercih Araçları'nda> Xamarin>Çalışırken Yeniden Yükleme etkinleştir onay kutusunu işaretleyin.
    • Mac için Visual Studio'ın önceki sürümlerinde, Visual Studio>Tercihleri>Projeleri>Xamarin Çalışırken Yeniden Yükleme'nde onay kutusu bulunur.

Ardından Android ve iOS derleme ayarlarınızda Bağlayıcı'nın "Bağlama" veya "Bağlantı Yok" olarak ayarlanıp ayarlanmediğini denetleyin. XAML Çalışırken Yeniden Yükleme fiziksel bir iOS cihazıyla kullanmak için Mono yorumlayıcısını etkinleştir (Visual Studio 16.4 ve üzeri) seçeneğini işaretlemeniz veya Ek mtouch args'nize (Visual Studio 16.3 ve üzeri) --interpreter eklemeniz gerekir.

Mevcut projenizin XAML Çalışırken Yeniden Yükleme ile kullanılmak üzere kurulumunu denetlemek için aşağıdaki akış çizelgesini kullanabilirsiniz:

XAML Hot Reload Setup

Çalışırken Yeniden Yükleme modları

XAML Çalışırken Yeniden Yükleme iki farklı modda çalışabilir: yalnızca yeni değişiklikler modu ve eski tam sayfa modu.

Visual Studio 16.9 ve Mac için Visual Studio 8.9'da varsayılan davranış, yalnızca değişiklik modunun 5.0 veya üzerini kullanan Xamarin.Forms tüm uygulamalar için kullanılmasıdır. eski sürümleri için Xamarin.Formstam sayfa modu kullanılır. Ancak, Windows'da Çalışırken Yeniden Yükleme IDE ayarlarında (Araçlar>Seçenekler>Hata Ayıklama> Çalışırken Yeniden Yükleme Xamarin> XAML için Visual Studio>Tercihleri>Araçları'nda tüm uygulamalar için tam sayfa modunu kullanmaya zorlayabilirsiniz Mac'te Çalışırken Yeniden Yükleme).

Yalnızca değişiklik modu , düzenleme yaptığınızda tam olarak nelerin değiştiğini görmek için XAML'yi ayrıştırıp yalnızca bu değişiklikleri çalışan uygulamaya gönderir. Bu, WPF ve UWP Çalışırken Yeniden Yükleme için kullanılan teknolojiyle aynıdır. Kullanıcı arabirimini tam sayfa için yeniden oluşturmadığından, yalnızca düzenlemelerden etkilenen denetimlerdeki değiştirilmiş özellikleri güncelleştirdiğinden kullanıcı arabirimi durumunu korur. Yalnızca değişiklikler modu, Canlı Görsel Ağaç kullanımını da etkinleştirir.

Varsayılan olarak, yalnızca değişiklikler modunda 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 işleminde güncelleştirilecek şekilde değiştirebilirsiniz. Bu, Çalışırken Yeniden Yükleme IDE ayarlarında XAML Çalışırken Yeniden Yükleme belge kaydetmeye uygula onay kutusu (şu anda yalnızca Windows'ta kullanılabilir) işaretlenerek gerçekleştirilebilir. Daha büyük XAML güncelleştirmeleri yaparsanız ve tamamlanana kadar bunların görüntülenmesini istemiyorsanız, bazen yalnızca belge kaydetmede güncelleştirme yararlı olabilir.

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

Yalnızca değişiklik modu Çalışırken Yeniden Yükleme geleceğidir ve mümkün olduğunca kullanmanızı öneririz. Hızlıdır, kullanıcı arabirimi durumunu korur ve Canlı Görsel Ağaç'ı destekler. Henüz 5.0'a Xamarin.Forms güncelleştirilmeyen uygulamalar için tam sayfa modu sağlanmıştır.

Not

Modlar arasında geçiş yaparken hata ayıklama oturumunu yeniden başlatmanız gerekir.

XAML hataları

Yalnızca değişiklik modu: XAML ayrıştırıcısının geçersiz olarak gördüğü Çalışırken Yeniden Yükleme bir değişiklik yaparsanız, düzenleyicide hatanın altı çizili olarak gösterilir ve hatalar penceresine eklenir. Bu Çalışırken Yeniden Yükleme hataları "XHR" ile başlayan bir hata koduna sahiptir (XAML Çalışırken Yeniden Yükleme için). Sayfada böyle hatalar varsa, Çalışırken Yeniden Yükleme sayfanın diğer bölümlerinde yapılmış olsa bile değişiklik uygulamaz. Çalışırken Yeniden Yükleme sayfa için yeniden çalışmaya başlamasıyla ilgili tüm hataları düzeltin.

Tam sayfa modu: XAML Çalışırken Yeniden Yükleme yeniden yükleyebileceği bir değişiklik yaparsanız, düzenleyicide hatanın altı çizili olarak gösterilir ve hata penceresine eklenir. Kaba düzenlemeler olarak bilinen bu değişiklikler, XAML'nizi yanlış şekillendirmeyi veya var olmayan bir olay işleyicisine bir denetim bağlamayı içerir. Kaba bir düzenlemeyle bile uygulamayı yeniden başlatmadan yeniden yüklemeye devam edebilir, XAML dosyasının başka bir yerinde başka bir değişiklik yapabilir ve kaydet'e basabilirsiniz. Kaba düzenleme yeniden yüklenmez, ancak diğer değişiklikleriniz uygulanmaya devam eder.

Aynı anda birden çok platformda yeniden yükleme

XAML Çalışırken Yeniden Yükleme, Visual Studio ve Mac için Visual Studio'da eşzamanlı hata ayıklamayı destekler. Değişikliklerinizin aynı anda her iki platforma da yansıtılması için bir Android ve iOS hedefini aynı anda 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.
  • XAML derlemesini devre dışı bırakarak [XamlCompilation(XamlCompilationOptions.Skip)] kullanımı desteklenmez ve Canlı Görsel Ağaç ile ilgili sorunlara neden olabilir.
  • XAML Çalışırken Yeniden Yükleme oturumu sırasında dosyaları veya NuGet paketlerini ekleyemez, kaldıramaz veya yeniden adlandıramazsınız. Bir dosya veya NuGet paketi ekler veya kaldırırsanız, XAML Çalışırken Yeniden Yükleme kullanmaya devam etmek için uygulamanızı yeniden derleyin ve yeniden dağıtabilirsiniz.
  • En iyi deneyim için bağlayıcınızı Bağlama veya Bağlantı Yok olarak ayarlayın. Bağlantı SDK'sı ayarı çoğu zaman çalışır, ancak bazı durumlarda başarısız olabilir. Bağlayıcı ayarları Android ve iOS derleme seçeneklerinizde bulunabilir.
  • Fiziksel i Telefon üzerinde hata ayıklama, yorumlayıcının XAML Çalışırken Yeniden Yükleme kullanmasını gerektirir. Bunu yapmak için proje ayarlarını açın, iOS Derleme sekmesini seçin ve Mono yorumlayıcı ayarını etkinleştir ayarının etkinleştirildiğinden emin olun. Özellik sayfasının üst kısmındaki Platform seçeneğini i Telefon olarak değiştirmeniz gerekebilir.
  • XAML Çalışırken Yeniden Yükleme olay işleyicileri, özel denetimler, arka planda sayfa kodu ve ek sınıflar dahil olmak üzere C# kodunu yeniden yükleyemez.

Sorun giderme

  • Sorun gidermeye yardımcı olabilecek durum iletilerini görmek için XAML Çalışırken Yeniden Yükleme çıkışını açın:
    • Windows: Çıkışı Görüntüle>ile Çıktı'yı açın ve En üstteki Çıkışı göster altından Xamarin Çalışırken Yeniden Yükleme'ı seçin
    • Mac: Bu tuş takımını göstermek için durum çubuğundaki XAML Çalışırken Yeniden Yükleme üzerine gelin
  • XAML Çalışırken 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.
    • Projenin derleme ayarlarında Android veya iOS Bağlayıcı ayarlarınızı Bağlama olarak ayarlayın.
  • XAML dosyanız kaydedilirken hiçbir şey olmazsa, IDE'de XAML Çalışırken Yeniden Yükleme etkinleştirildiğinden emin olun.
  • Fiziksel i Telefon üzerinde hata ayıklarsanız ve uygulamanız yanıt vermiyorsa, yorumlayıcının etkinleştirilip etkinleştirilmediğini denetleyin. Açmak için Mono yorumlayıcısını etkinleştir (Visual Studio 16.4/8.4 ve üzeri) seçeneğini işaretleyin veya iOS Derleme ayarlarınızda Ek mtouch bağımsız değişkenleri alanına (Visual Studio 16.3/8.3 ve öncesi) --interpreterekleyin.

Bir hatayı bildirmek için, Windows'da Geri Bildirim>Gönderme Sorunu Bildirme ve Mac'te Sorun Bildirmeye Yardımcı Olun'ı>kullanın.>