ASP.NET Core için .NET Çalışırken Yeniden Yükleme desteği
.NET Çalışırken Yeniden Yükleme, stil sayfalarında yapılan değişiklikler de dahil olmak üzere kod değişikliklerini, uygulamayı yeniden başlatmadan ve uygulama durumunu kaybetmeden çalışan bir uygulamaya uygular. Çalışırken Yeniden Yükleme tüm ASP.NET Core 6.0 ve üzeri projelerde desteklenir.
Genellikle, güncelleştirilmiş kod aşağıdaki koşullarla geçerli olacak şekilde yeniden çalıştırılır:
- Bazı başlangıç mantığı yalnızca bir kez çalıştırılır:
- Kod güncelleştirmesi bir satır içi ara yazılım temsilcisine yapılmadığı sürece ara yazılım.
- Yapılandırılmış hizmetler.
- Kod güncelleştirmesi bir yol işleyici temsilcisine (örneğin,
OnInitialized
) yönelik olmadığı sürece yol oluşturma ve yapılandırma.
- UygulamalardaBlazor, çerçeve bir Razor bileşenin otomatik olarak işlenmesini tetikler.
- MVC ve Razor Pages uygulamalarında Çalışırken Yeniden Yükleme otomatik olarak bir tarayıcı yenilemesi tetikler.
- Bir Razorbileşen parametresi özniteliğinin kaldırılması, bileşenin yeniden yenilenmesine neden olmaz. Uygulamanın yeniden başlatılması gerekir.
Desteklenen senaryolar hakkında daha fazla bilgi için bkz . Desteklenen kod değişiklikleri (C# ve Visual Basic).
Blazor WebAssembly
Blazor WebAssemblyÇalışırken Yeniden Yükleme aşağıdaki kod değişikliklerini destekler:
- Yeni türler.
- İç içe sınıflar.
- Değişkenleri, ifadeleri ve deyimleri ekleme, kaldırma ve düzenleme gibi yöntem gövdelerinde yapılan çoğu değişiklik.
- Lambda ifadelerinin ve yerel işlevlerin gövdelerinde yapılan değişiklikler.
- Mevcut türlere statik ve örnek yöntemleri ekleme.
- Var olan türlere statik ve örnek alanları, olaylar ve özellikler ekleme.
- Mevcut yöntemlere statik lambda ekleme.
- Önceden yakalanan mevcut yöntemlere yakalayan
this
this
lambda ekleme.
Daha önce bir bileşen parametresinin değerini ayarlayan bir öznitelik kaldırıldığında, kaldırılan parametreyi varsayılan değerine geri ayarlamak için bileşenin atıldığını ve yeniden başlatıldığını unutmayın.
Aşağıdaki kod değişiklikleri uygulamalar için Blazor WebAssembly desteklenmez:
- Yeni
await
bir işleç veyayield
anahtar sözcük ifadesi ekleme. - Yöntem parametrelerinin adlarını değiştirme.
Blazor WebAssemblyÇalışırken Yeniden Yükleme aşağıdaki kod değişikliklerini destekler:
- Yeni türler.
- İç içe sınıflar.
- Değişkenleri, ifadeleri ve deyimleri ekleme, kaldırma ve düzenleme gibi yöntem gövdelerinde yapılan çoğu değişiklik.
- Lambda ifadelerinin ve yerel işlevlerin gövdelerinde yapılan değişiklikler.
- Mevcut türlere statik ve örnek yöntemleri ekleme.
- Var olan türlere statik alanlar ekleme.
- Mevcut yöntemlere statik lambda ekleme.
- Önceden yakalanan mevcut yöntemlere yakalayan
this
this
lambda ekleme.
Daha önce bir bileşen parametresinin değerini ayarlayan bir öznitelik kaldırıldığında, kaldırılan parametreyi varsayılan değerine geri ayarlamak için bileşenin atıldığını ve yeniden başlatıldığını unutmayın.
Aşağıdaki kod değişiklikleri uygulamalar için Blazor WebAssembly desteklenmez:
- Yeni
await
bir işleç veyayield
anahtar sözcük ifadesi ekleme. - Yöntem parametrelerinin adlarını değiştirme.
- Örnek (olmayan
static
) alanlar, olaylar veya özellikler ekleme.
Blazor WebAssemblyÇalışırken Yeniden Yükleme aşağıdaki kod değişikliklerini destekler:
- Değişkenleri, ifadeleri ve deyimleri ekleme, kaldırma ve düzenleme gibi yöntem gövdelerinde yapılan çoğu değişiklik.
- Lambda ifadelerinin ve yerel işlevlerin gövdelerinde yapılan değişiklikler.
Aşağıdaki kod değişiklikleri uygulamalar için Blazor WebAssembly desteklenmez:
- Yeni lambdalar veya yerel işlevler ekleme.
- Yeni
await
bir işleç veyayield
anahtar sözcük ifadesi ekleme. - Yöntem parametrelerinin adlarını değiştirme.
- Yöntem gövdelerinin dışındaki değişiklikler.
- Örnek (olmayan
static
) alanlar, olaylar veya özellikler ekleme.
.NET CLI
Çalışırken Yeniden Yükleme şu komut kullanılarak dotnet watch
etkinleştirilir:
dotnet watch
Uygulamayı yeniden derlemeye ve yeniden başlatmaya zorlamak için komut kabuğundaki Ctrl+R klavye bileşimini kullanın.
Kaba düzenleme olarak adlandırılan, desteklenmeyen bir kod düzenlemesi yapıldığında, dotnet watch
uygulamayı yeniden başlatmak isteyip istemediğinizi sorar:
- Evet: Uygulamayı yeniden başlatır.
- Hayır: Uygulamayı yeniden başlatmaz ve değişiklikler uygulanmadan uygulamayı çalışır durumda bırakır.
- Her zaman: Kaba düzenlemeler gerçekleştiğinde uygulamayı gerektiği gibi yeniden başlatır.
- Hiçbir zaman: Uygulamayı yeniden başlatmaz ve gelecekteki istemleri önler.
Çalışırken Yeniden Yükleme desteğini devre dışı bırakmak için komutuna --no-hot-reload
dotnet watch
şu seçeneği geçirin:
dotnet watch --no-hot-reload
Çalışırken Yeniden Yükleme devre dışı bırakma
içindeki Properties/launchSettings.json
aşağıdaki ayar Çalışırken Yeniden Yükleme devre dışı bırakır:
"hotReloadEnabled" : false
Ek kaynaklar
Daha fazla bilgi için Visual Studio belgelerinde aşağıdaki kaynaklara bakın:
- Visual Studio 2022, VS Code ve NOTEPAD'de YouTube videosu .NET 6 Çalışırken Yeniden Yükleme?!?
- Çalışma zamanında kod düzenlemeye yönelik .NET Çalışırken Yeniden Yükleme deneyimine giriş
- Visual Studio'da Çalışırken Yeniden Yükleme ile çalışan kod yazma ve hata ayıklama
- &editors için Blazor Güncelleştirmeler Razor + ASP.NET için Çalışırken Yeniden Yükleme
- Çalışırken Yeniden Yükleme ile Yürütmeyi Test Et
ASP.NET Core