XAML Çalışırken Yeniden Yükleme sorunlarını giderme

Şunlar için geçerlidir: Visual Studio 2019 ve sonraki sürümleri

Bu sorun giderme kılavuzu, XAML Çalışırken Yeniden Yükleme düzgün çalışmasını engelleyen sorunların çoğunu çözmeniz gereken ayrıntılı yönergeler içerir.

XAML Çalışırken Yeniden Yükleme WPF ve UWP uygulamaları için desteklenir. İşletim sistemi ve araç gereksinimleri hakkında ayrıntılı bilgi için bkz. XAML Çalışırken Yeniden Yükleme ile çalışan XAML kodunu yazma ve hata ayıklama.

Çalışırken Yeniden Yükleme kullanılamıyorsa

Uygulamanızda hata ayıklarken uygulama içi araç çubuğunda iletiyi Hot Reload is not available görürseniz, sorunu çözmek için bu makalede açıklanan yönergeleri izleyin.

XAML Çalışırken Yeniden Yükleme etkinleştirildiğini doğrulama

Özellik, Visual Studio 2019 ve sonraki sürümlerde varsayılan olarak etkindir. Uygulamanızda hata ayıklamaya başladığınızda, XAML Çalışırken Yeniden Yükleme kullanılabilir olduğunu onaylayan uygulama içi araç çubuğunu gördüğünüzden emin olun.

Visual Studio 2019:

Visual Studio 2019'da 'XAML Çalışırken Yeniden Yükleme kullanılabilir' araç çubuğunun ekran görüntüsü.

Visual Studio 2022:

Visual Studio 2022'de 'XAML Çalışırken Yeniden Yükleme kullanılabilir' araç çubuğunun ekran görüntüsü.

Uygulama içi araç çubuğunu görmüyorsanız Visual Studio menü çubuğundan Hata Ayıklama>Seçenekleri>XAML Çalışırken Yeniden Yükleme'ni seçin. Ardından, Seçenekler iletişim kutusunda XAML Çalışırken Yeniden Yükleme etkinleştir seçeneğinin belirlendiğinden emin olun.

XAML Çalışırken Yeniden Yükleme Etkinleştir seçeneğinin vurgulandığı Visual Studio Hata Ayıklama Seçenekleri penceresinin ekran görüntüsü.

İşleme Ekle yerine Hata Ayıklamayı Başlat'ı kullandığınızı doğrulayın

XAML Çalışırken Yeniden Yükleme, ortam değişkeninin ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO uygulama başlatıldığında olarak ayarlanmasını 1 gerektirir. Visual Studio, Hata AyıklamaYı>Başlat Hata Ayıklama (veya F5) komutunun bir parçası olarak değeri otomatik olarak ayarlar. Bunun yerine XAML Çalışırken Yeniden Yükleme İşleme>Ekle komutuyla kullanmak istiyorsanız ortam değişkenini kendiniz ayarlayın.

Not

Ortam değişkeni ayarlamak için Başlat düğmesini kullanarak ortam değişkenini arayın ve Sistem ortam değişkenlerini düzenle'yi seçin. Açılan iletişim kutusunda Ortam Değişkenleri'ni seçin, ardından bunu bir kullanıcı değişkeni olarak ekleyin ve değerini olarak 1ayarlayın. Temizlemek için hata ayıklamayı bitirdiğinizde değişkeni kaldırın.

MSBuild özelliklerinizin doğru olduğunu doğrulayın

Varsayılan olarak, kaynak bilgileri hata ayıklama yapılandırmasına dahil edilir. Proje dosyalarınızdaki ( *.csproj gibi) MSBuild özellikleri tarafından denetlenir. WPF için özelliği, olarak ayarlanması Truegereken şeklindedirXamlDebuggingInformation. UWP için özelliği, olarak ayarlanması Falsegereken şeklindedirDisableXbfLineInfo. Örneğin:

WPF:

<XamlDebuggingInformation>True</XamlDebuggingInformation>

UWP:

<DisableXbfLineInfo>False</DisableXbfLineInfo>

Doğru derleme yapılandırma adını kullandığınızı doğrulayın

XAML Çalışırken Yeniden Yükleme desteklemek için doğru MSBuild özelliğini el ile ayarlamanız (önceki bölüme bakın) veya varsayılan derleme yapılandırma adını (Hata Ayıklama) kullanmanız gerekir. MSBuild özelliğini doğru ayarlamazsanız, özel derleme yapılandırma adı çalışmaz ve Yayın derlemesi çalışmaz.

Programınızın yükseltilmiş çalışmadığından emin olun

XAML Çalışırken Yeniden Yükleme, yükseltilmiş/yönetici olarak çalıştırılan uygulamalarda desteklenmez.

XAML dosyanızda hata olmadığını doğrulayın

XAML dosyanız Hata Listesi'nde hatalar gösteriyorsa, XAML Çalışırken Yeniden Yükleme çalışmayabilir.

Visual Studio 2022'de kaynak başvurularını ve stillerini güncelleştirmek için daha kapsamlı aramayı etkinleştirme

ortam değişkenini XAML_HOT_RELOAD_ACCURACY_OVER_PERF olarak ayarlamak 1 , WPF uygulamalarında kaynak başvurularını ve stillerini güncelleştirmek için daha kapsamlı bir arama sağlar. Üçüncü taraf araç setleri kullanan uygulamalar gibi bazı uygulamaların XAML Çalışırken Yeniden Yükleme önemli gecikmelerle karşılaşabileceğini unutmayın. Gecikme oluştuğunda, Düzenleyici durum çubuğunda bir Çalışırken Yeniden Yükleme ilerleme zamanlayıcısı görüntülenir.

Visual Studio 2022'de 'XAML Çalışırken Yeniden Yükleme ilerleme süreölçerinin' ekran görüntüsü.

Bilinen sınırlamalar

XAML Çalışırken Yeniden Yükleme bilinen sınırlamaları aşağıdadır. Karşılaşacağınız sınırlamaları geçici olarak çözmek için hata ayıklayıcıyı durdurmanız ve ardından işlemi tamamlamanız gerekir.

Sınırlama WPF UWP Notlar
Uygulama çalışırken olayları denetimlere bağlama Desteklenmiyor Desteklenmiyor Bkz. hata: Olayın Başarısız Olduğundan Emin Olun. WPF'de var olan bir olay işleyiciye başvurabilirsiniz. UWP uygulamalarında mevcut bir olay işleyiciye başvurmak desteklenmez.
Uygulamanızın Page/Window veya App.xaml gibi bir kaynak sözlüğünde kaynak nesneleri oluşturma Visual Studio 2019 sürüm 16.2 ve sonrasından itibaren desteklenir Destekleniyor Örnekler:
- SolidColorBrush Olarak kullanmak üzere kaynak sözlüğüne eklemeStaticResource.
Not: Statik kaynaklar, stil dönüştürücüleri ve kaynak sözlüğüne yazılan diğer öğeler XAML Çalışırken Yeniden Yükleme kullanılırken uygulanabilir/kullanılabilir. Yalnızca kaynağın oluşturulması desteklenmez.
- Kaynak sözlüğü Source özelliğini değiştirme.
Uygulama çalışırken projenize yeni denetimler, sınıflar, pencereler veya başka dosyalar ekleme Desteklenmiyor Desteklenmiyor Yok
NuGet paketlerini yönetme (paketleri ekleme/kaldırma/güncelleştirme) Desteklenmiyor Desteklenmiyor Yok
{x:Bind} işaretleme uzantısını kullanan veri bağlaması değiştiriliyor Yok Visual Studio 2019'dan itibaren desteklenir Bunun için Windows 10 sürüm 1809 (derleme 10.0.17763) ve üzeri gerekir. Visual Studio 2017 veya önceki sürümlerde desteklenmez.
x:Uid yönergelerini değiştirme Yok Desteklenmiyor Yok
Birden çok işlem kullanma Destekleniyor Destekleniyor Visual Studio 2019 sürüm 16.6 ve sonraki sürümlerde desteklenir.
Temalardaki Stilleri Düzenleme\generic.xaml Desteklenmiyor Desteklenmiyor XAML Çalışırken Yeniden Yükleme yeni stiller oluşturur; özgün stiller korumalıdır. Platformlar, denetimlere uygulandıktan sonra generic.xaml'deki stilleri önbelleğe alır ve bu da bunların değiştirilmesi için erişilemez olmasını sağlar.

Yaygın hata iletileri

XAML Çalışırken Yeniden Yükleme kullanırken aşağıdaki hatalara karşılaşabilirsiniz.

Hata iletisi Açıklama
Olayın Başarısız Olduğundan Emin Olun Hata, uygulamanız çalışırken desteklenmeyen bir olayı denetimlerinizden birine bağlamaya çalıştığınızı gösterir.
Bu değişiklik XAML Çalışırken Yeniden Yükleme tarafından desteklenmez ve hata ayıklama oturumu sırasında uygulanmaz. Hata, denediğiniz değişikliğin XAML Çalışırken Yeniden Yükleme tarafından desteklenmediğini gösterir. Hata ayıklama oturumunu durdurun, değişikliği yapın ve hata ayıklama oturumunu yeniden başlatın.

Desteklendiğini görmek istediğiniz desteklenmeyen bir senaryo bulursanız Özellik önerin seçeneğimizi kullanarak bize bildirin.