Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
.NET Hot Reload tillämpar kodändringar, inklusive ändringar i formatmallar, på en app som körs utan att starta om appen och utan att förlora apptillståndet. Hot Reload stöds för alla ASP.NET Core i .NET 6 eller senare projekt.
I allmänhet körs uppdaterad kod igen för att börja gälla med följande villkor:
- Viss startlogik körs bara en gång:
- Mellanprogram, såvida inte koduppdateringen är till ett ombud för infogade mellanprogram.
- Konfigurerade tjänster.
- Skapa och konfigurera routning, såvida inte koduppdateringen är till ett routningshanterardelegat (till exempel
OnInitialized).
- I Blazor appar utlöser ramverket en Razor komponentåtergivning automatiskt.
- I MVC- och Razor Pages-appar utlöser frekvent omläsning en webbläsaruppdatering automatiskt.
- Om du tar bort ett Razorkomponentparameterattribut kan komponenten inte återskapas. Appen måste startas om.
Mer information om scenarier som stöds finns i Kodändringar som stöds (C# och Visual Basic).
Blazor WebAssembly
Blazor WebAssembly Hot Reload stöder följande kodändringar:
- Nya typer.
- Kapslade klasser.
- De flesta ändringar avser metodkroppar, till exempel att lägga till, ta bort och redigera variabler, uttryck och satser.
- Ändringar i lambdauttryckens och lokala funktioners kroppar.
- Lägga till statiska metoder och instansmetoder till befintliga typer.
- Lägga till statiska fält och instansfält, händelser och egenskaper till befintliga typer.
- Lägga till statiska lambdas till befintliga metoder.
- Lägga till lambdas som fångar
thistill befintliga metoder som redan fångadethis.
Observera att när ett attribut tas bort som tidigare angav värdet för en komponentparameter tas komponenten bort och initieras på nytt för att ställa in den borttagna parametern tillbaka till standardvärdet.
Följande kodändringar stöds inte för Blazor WebAssembly appar:
- Lägga till en ny
awaitoperator eller ett nyttyieldnyckelordsuttryck. - Ändra namnen på metodparametrar.
Blazor WebAssembly Hot Reload stöder följande kodändringar:
- Nya typer.
- Kapslade klasser.
- De flesta ändringar avser metodkroppar, till exempel att lägga till, ta bort och redigera variabler, uttryck och satser.
- Ändringar i lambdauttryckens och lokala funktioners kroppar.
- Lägga till statiska metoder och instansmetoder till befintliga typer.
- Lägga till statiska fält i befintliga typer.
- Lägga till statiska lambdas till befintliga metoder.
- Lägga till lambdas som fångar
thistill befintliga metoder som redan fångadethis.
Observera att när ett attribut tas bort som tidigare angav värdet för en komponentparameter tas komponenten bort och initieras på nytt för att ställa in den borttagna parametern tillbaka till standardvärdet.
Följande kodändringar stöds inte för Blazor WebAssembly appar:
- Lägga till en ny
awaitoperator eller ett nyttyieldnyckelordsuttryck. - Ändra namnen på metodparametrar.
- Lägga till instans (icke-
static) fält, händelser eller egenskaper.
Blazor WebAssembly Hot Reload stöder följande kodändringar:
- De flesta ändringar avser metodkroppar, till exempel att lägga till, ta bort och redigera variabler, uttryck och satser.
- Ändringar i lambdauttryckens och lokala funktioners kroppar.
Följande kodändringar stöds inte för Blazor WebAssembly appar:
- Lägga till nya lambdas eller lokala funktioner.
- Lägga till en ny
awaitoperator eller ett nyttyieldnyckelordsuttryck. - Ändra namnen på metodparametrar.
- Ändringar utanför metodkroppar.
- Lägga till instans (icke-
static) fält, händelser eller egenskaper.
.NET CLI (kommandoradsgränssnitt för .NET)
Hot Reload aktiveras med kommandot dotnet watch :
dotnet watch
Om du vill tvinga appen att återskapa och starta om använder du tangentbordskombinationen Ctrl+R i kommandogränssnittet.
När en kodredigering som inte stöds görs, som kallas för en grova redigering, dotnet watch frågar appen dig om du vill starta om appen:
- Ja: Startar om appen.
- Nej: Startar inte om appen och lämnar appen igång utan att ändringarna har tillämpats.
- Alltid: Startar om appen efter behov när oförskämda redigeringar sker.
- Aldrig: Startar inte om appen och undviker framtida frågor.
Om du vill inaktivera stöd för Hot Reload, passa --no-hot-reload alternativet till dotnet watch kommandot:
dotnet watch --no-hot-reload
Inaktivera Hot Reload
Följande inställning i Properties/launchSettings.json inaktiverar Hot Reload:
"hotReloadEnabled" : false
Ytterligare resurser
Mer information finns i följande resurser i Visual Studio-dokumentationen:
- YouTube-video .NET 6 Hot Reload in Visual Studio 2022, VS Code och NOTEPAD?!?
- Introduktion till .NET Hot Reload-funktionen för redigering av kod under körning
- Skriva och felsöka körande kod med direkt omstart i Visual Studio
- Uppdateringar för Blazor och Razor redigerare + Snabbinläsning för ASP.NET
- Testkörning med direkt omladdning
ASP.NET Core