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:

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:

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ç veya yield anahtar sözcük ifadesi ekleme.
  • Yöntem parametrelerinin adlarını değiştirme.
  • Yöntem gövdelerinin dışındaki değişiklikler.
  • Örnek (olmayanstatic) 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: