Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Przeładowywanie na gorąco platformy .NET wprowadza zmiany w kodzie, w tym w arkuszach stylów, do uruchomionej aplikacji bez ponownego jej uruchamiania i bez utraty stanu. Hot Reload jest obsługiwany dla wszystkich projektów ASP.NET Core na platformie .NET 6 lub nowszych.
Ogólnie rzecz biorąc zaktualizowany kod zostanie ponownie uruchomiony, aby zastosować następujące warunki:
- Niektóre logiki uruchamiania są uruchamiane tylko raz:
- Oprogramowanie pośredniczące, chyba że aktualizacja kodu dotyczy delegata oprogramowania pośredniczącego osadzonego inline.
- Skonfigurowane usługi.
- Tworzenie i konfiguracja tras, chyba że aktualizacja kodu dotyczy delegata obsługi ścieżki (na przykład
OnInitialized).
- W Blazor aplikacjach platforma automatycznie wyzwala renderowanie składnika.
- W aplikacjach MVC i Razor Pages funkcja Hot Reload wyzwala automatyczne odświeżanie przeglądarki.
- Usunięcie atrybutu Razorparametru składnika nie powoduje ponownego renderowania składnika. Aplikacja musi zostać ponownie uruchomiona.
Aby uzyskać więcej informacji na temat obsługiwanych scenariuszy, zobacz Obsługiwane zmiany kodu (C# i Visual Basic).
Blazor WebAssembly
Blazor WebAssembly Przeładowywanie na gorąco obsługuje następujące zmiany kodu:
- Nowe typy.
- Klasy zagnieżdżone.
- Większość zmian w ciałach metod dotyczy dodawania, usuwania i edytowania zmiennych, wyrażeń oraz instrukcji.
- Zmiany w ciałach wyrażeń lambda i funkcji lokalnych.
- Dodawanie metod statycznych i wystąpień do istniejących typów.
- Dodawanie pól statycznych, zdarzeń i właściwości do istniejących typów.
- Dodawanie statycznych wyrażeń lambda do istniejących metod.
- Dodanie wyrażeń lambda, które przechwytują
this, do istniejących metod, które wcześniej przechwytywałythis.
Należy pamiętać, że po usunięciu atrybutu, który wcześniej ustawił wartość parametru składnika, składnik jest usuwany i ponownie inicjowany w celu ustawienia usuniętego parametru z powrotem na wartość domyślną.
Następujące zmiany kodu nie są obsługiwane w przypadku Blazor WebAssembly aplikacji:
- Dodawanie nowego
awaitoperatora lubyieldwyrażenia kluczowego . - Zmiana nazw parametrów metody.
Blazor WebAssembly Przeładowywanie na gorąco obsługuje następujące zmiany kodu:
- Nowe typy.
- Klasy zagnieżdżone.
- Większość zmian w ciałach metod dotyczy dodawania, usuwania i edytowania zmiennych, wyrażeń oraz instrukcji.
- Zmiany w ciałach wyrażeń lambda i funkcji lokalnych.
- Dodawanie metod statycznych i wystąpień do istniejących typów.
- Dodawanie pól statycznych do istniejących typów.
- Dodawanie statycznych wyrażeń lambda do istniejących metod.
- Dodanie wyrażeń lambda, które przechwytują
this, do istniejących metod, które wcześniej przechwytywałythis.
Należy pamiętać, że po usunięciu atrybutu, który wcześniej ustawił wartość parametru składnika, składnik jest usuwany i ponownie inicjowany w celu ustawienia usuniętego parametru z powrotem na wartość domyślną.
Następujące zmiany kodu nie są obsługiwane w przypadku Blazor WebAssembly aplikacji:
- Dodawanie nowego
awaitoperatora lubyieldwyrażenia kluczowego . - Zmiana nazw parametrów metody.
- Dodawanie pól, zdarzeń lub właściwości wystąpienia (innych
staticniż).
Blazor WebAssembly Przeładowywanie na gorąco obsługuje następujące zmiany kodu:
- Większość zmian w ciałach metod dotyczy dodawania, usuwania i edytowania zmiennych, wyrażeń oraz instrukcji.
- Zmiany w ciałach wyrażeń lambda i funkcji lokalnych.
Następujące zmiany kodu nie są obsługiwane w przypadku Blazor WebAssembly aplikacji:
- Dodawanie nowych funkcji lambd lub lokalnych.
- Dodawanie nowego
awaitoperatora lubyieldwyrażenia kluczowego . - Zmiana nazw parametrów metody.
- Zmiany dokonane poza ciałami metod.
- Dodawanie pól, zdarzeń lub właściwości wystąpienia (innych
staticniż).
Interfejs wiersza polecenia (CLI) platformy .NET
Ponowne ładowanie na gorąco jest aktywowane za pomocą dotnet watch polecenia :
dotnet watch
Aby wymusić ponowne skompilowanie i ponowne uruchomienie aplikacji, użyj kombinacji klawiatury Ctrl+R w powłoce poleceń.
Po wprowadzeniu nieobsługiwanej edycji kodu, nazywanej drastyczną edycją, dotnet watch pyta, czy chcesz ponownie uruchomić aplikację:
- Tak: uruchamia ponownie aplikację.
- Nie: nie uruchamia ponownie aplikacji i pozostawia aplikację uruchomioną bez zastosowanych zmian.
- Zawsze: uruchamia ponownie aplikację zgodnie z potrzebami, gdy wystąpią niegrzeczne zmiany.
- Nigdy: nie uruchamia ponownie aplikacji i unika monitów w przyszłości.
Aby wyłączyć obsługę Hot Reload, przekaż --no-hot-reload opcję do dotnet watch polecenia:
dotnet watch --no-hot-reload
Wyłącz przeładowywanie na gorąco
Następujące ustawienie w programie Properties/launchSettings.json powoduje wyłączenie Hot Reload:
"hotReloadEnabled" : false
Dodatkowe zasoby
Aby uzyskać więcej informacji, zobacz następujące zasoby w dokumentacji programu Visual Studio:
- Wideo YouTube .NET 6 Hot Reload w Visual Studio 2022, VS Code i Notepad?!?
- Wprowadzenie do funkcji Hot Reload .NET, umożliwiającej edytowanie kodu w trakcie jego działania
- Pisanie i debugowanie uruchomionego kodu za pomocą funkcji Przeładowywania na gorąco w programie Visual Studio
- Aktualizacje dla edytorów Blazor i Razor oraz Hot Reload dla ASP.NET
- Wykonywanie testów za pomocą Przeładowywanie na gorąco
ASP.NET Core