Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önceki adı Düzenle ve Devam Et olan Anında Yeniden Yükleme mekanizması, yöntem gövdeleri içindeki çoğu kod değişikliği türünü işler. Ancak yöntem gövdeleri dışındaki değişikliklerin çoğu ve yöntem gövdeleri içindeki birkaç değişiklik hata ayıklama sırasında uygulanamaz. Bu desteklenmeyen değişiklikleri uygulamak için hata ayıklamayı durdurmanız ve kodun yeni bir sürümüyle yeniden başlatmanız gerekir.
Kodda desteklenen değişiklikler
Aşağıdaki tabloda, bir hata ayıklama oturumu sırasında oturumu yeniden başlatmadan C# ve Visual Basic kodunda yapılabilecek değişiklikler gösterilmektedir.
| Dil öğesi veya özelliği | Desteklenen düzenleme işlemi | Sınırlama |
|---|---|---|
| Türler | Yöntemler, alanlar, oluşturucular ve daha fazlasını ekleme | Evet |
| Yineleyiciler | Ekleme veya değiştirme | Hayır |
| async/await ifadeleri | Ekleme veya değiştirme | Evet |
| Dinamik nesneler | Ekleme veya değiştirme | Hayır |
| lambda ifadeleri | Ekleme veya değiştirme | Evet |
| LINQ ifadeleri | Ekleme veya değiştirme | Lambda ifadeleriyle aynı |
| Genel Türler | Ekleme veya değiştirme | Evet |
Not alın
Dize ilişkilendirme ve null koşullu işleçler gibi daha yeni dil özellikleri genellikle Düzenle ve Devam Et tarafından desteklenir. En güncel bilgiler için Enc Desteklenen Düzenlemeler sayfasına bakın. .NET Framework için desteklenen özellikler, listelenen özelliklerin bir alt kümesidir ve derleyici sürümüne bağımlıdır.
.NET 6+ geliştirmeleri
.NET 6+ ve Visual Studio 2022 ve sonraki sürümlerdeki geliştirmeler, Visual Studio'nun eski sürümlerinde mümkün olanın ötesine geçebilecek daha fazla düzenleme türü için destek içerir. Bu iyileştirmeler hem Anında Yeniden Yükleme hem de Düzenle ve Devam Et deneyimlerinde kullanılabilir.
.NET 6+ Sıcak Yeniden Yükleme deneyimi, Düzenle ve Sürdür mekanizması ve Roslyn tarafından desteklenir. Desteklenen Düzenlemeler Roslyn tarafından desteklenen düzenleme türlerini ve gelecekteki olası geliştirmeleri listeler.
Kodda desteklenmeyen değişiklikler
Hata ayıklama oturumu sırasında C# ve Visual Basic koduna aşağıdaki değişiklikler uygulanamaz.
Geçerli deyimde veya diğer aktif deyimlerde yapılan değişiklikler.
Etkin deyim, geçerli deyime ulaşmak için çağrılan çağrı yığınındaki bir işlevdeki herhangi bir deyimdir.
Geçerli ifade, kaynak pencerede sarı arka planda görünür. Diğer etkin deyimler gölgeli bir arka planda görünür ve salt okunur durumdadır. Bu varsayılan renkler Seçenekleri iletişim kutusunda değiştirilebilir.
Aşağıdaki tabloda açıklandığı gibi dil öğesine göre kodda desteklenmeyen değişiklikler.
.NET 6+ ve Visual Studio 2022 için, şu anda desteklenen ve desteklenmeyen düzenleme türleri için desteklenen Düzenlemeler bölümüne bakın.
Dil öğesi veya özelliği Desteklenmeyen düzenleme işlemi Tüm kod öğeleri Yeniden adlandırma Ad Alanları Ekle Ad alanları, türler, üyeler Silmek Arayüzler Değiştirmek Türler Soyut veya sanal üye ekleyin, geçersiz kılma ekleyin (bkz. ayrıntılar) Türler Yıkıcı ekle Üyeler - Gömülü bir interop türüne referans veren bir üyeyi değiştirme
- Statik bir üyeyi kod çalıştırılarak erişildikten sonra değiştirmeÜyeler (Visual Basic) - Hata Oluştuğunda veya Devam Et deyimiyle bir üyeyi değiştirme
- Aggregate, Group By, Simple Join veya Group Join LINQ sorgu yan tümcesi içeren bir üyeyi değiştirmeYöntemler - İmzaları değiştirme
- Bir yöntem gövdesi ekleyerek soyut bir yöntemi soyut olmayan bir yöntem yapma
- Yöntem gövdesini silÖznitelik Ekleme veya değiştirme Olaylar veya özellikler Tür parametresini, temel türü, temsilci türünü veya dönüş türünü değiştirme İşleçler veya dizin oluşturucular Tür parametresini, temel türü, temsilci türünü veya dönüş türünü değiştirme catch blokları Bir etkin deyim içerdiğinde değiştir try-catch-finally blokları Bir etkin deyim içerdiğinde değiştir using ifadesi Ekle eşzamansız yöntemler/lambdalar .NET Framework 4 ve daha düşük bir sürümü hedefleyen bir projede zaman uyumsuz yöntemi/lambdayı değiştirme (bkz. ayrıntılar) Yineleyiciler .NET Framework 4 ve önceki sürümleri hedefleyen bir projede yineleyiciyi değiştirme (bkz. ayrıntılar)
Güvenli olmayan kod
Güvenli olmayan kodda yapılan değişiklikler, güvenli koddaki değişikliklerle aynı sınırlamalara sahiptir ve ek bir kısıtlama vardır: Düzenle ve Devam Et, stackalloc işlecini içeren bir yöntemden çıkan güvenli olmayan kodda yapılan değişiklikleri desteklemez.
Uygulama desteği
Desteklenen uygulamalar şunlardır:
- Windows 10 veya Windows 11'de UWP uygulamaları
- .NET Framework 4.6 masaüstü veya sonraki sürümlerini hedefleyen x86 ve x64 uygulamaları (.NET Framework yalnızca masaüstü sürümüdür)
.NET 6 ve üzeri için düzenleme aşağıdaki dosya türleri için desteklenir:
- .cshtml
- .jilet
Desteklenmeyen uygulamalar, platformlar ve işlemler
Desteklenmeyen uygulamalar veya platformlar şunlardır:
- F#
- .NET Native
- Silverlight 5
- Windows 8.1
- Xamarin.Forms (iOS ve Android)
ASP.NET ve ASP.NET Core için düzenleme aşağıdaki dosya türleri için desteklenmez:
- .aspx
- .ascx
Desteklenmeyen senaryolar
Düzenle ve Devam Et aşağıdaki hata ayıklama senaryolarında kullanılamaz:
Karışık mod (yerel/yönetilen) hata ayıklama.
.NET 7 veya üzerini hedeflemeden Arm64'te hata ayıklama.
COR_ENABLE_PROFILING ortam değişken kümesiyle hata ayıklama.
Hata Ayıklama > İşleme Ekle'yi kullanarak uygulamada hata ayıklama yapmak, Hata Ayıklama menüsünden Başlat'ı seçerek uygulamayı çalıştırmak yerine yapılabilir. Bir işleme eklerken Düzenle ve Devam Et'i kullanmak istiyorsanız, işlemi başlatmadan önce COMPLUS_ForceENC ortam değişkeninin ayarlanması gerekir (
set COMPLUS_ForceENC=1).Belirsiz (örneğin, zamana dayalı) derleme sürümleriyle hata ayıklama. Düzenle ve Devam Et özelliğini kullanmak istiyorsanız, sürümü yalnızca Yayın (veya CI) derlemelerinde ayarlamayı ve Debug derlemelerindeki sürümü sabit tutmayı düşünün.
İyileştirilmiş kodda hata ayıklama.
SQL hata ayıklama.
Döküm dosyasında hata ayıklama.
Katıştırılmış çalışma zamanı uygulamasında hata ayıklama.
Derleme hataları nedeniyle yeni bir sürüm oluşturulamadıktan sonra kodunuzun eski bir sürümünde hata ayıklama.
İlgili içerik
- Düzenle ve Devam Et (Visual C#)
- Nasıl yapılır: (C#) Düzenle ve Devam Et Kullanma
- Düzenle ve Devam Et'i Yapılandırma