Konfigurace Opětovné načítání za provozu (C#, VB, C++)

V nabídce Visual Studio Tools>Options v době návrhu můžete zakázat nebo povolit Opětovné načítání za provozu (dříve označované jako Upravit a pokračovat). Opětovné načítání za provozu funguje jenom v ladicích buildech. Další informace najdete v tématu Opětovné načítání za provozu.

Pro nativní jazyk C++ Opětovné načítání za provozu vyžaduje použití možnosti /INCREMENTAL. Další informace o požadavcích na funkce v jazyce C++ najdete v tomto blogovém příspěvku a Upravit a Pokračovat (C++).

Poznámka

Pokud je povolená funkce IntelliTrace a shromažďujete události IntelliTrace i informace o volání, Opětovné načítání za provozu je zakázaná. Další informace viz IntelliTrace.

Povolení a konfigurace Opětovné načítání za provozu

Nastavení Opětovné načítání za provozu můžete zobrazit výběrem Nastavení v rozevíracím seznamu Opětovné načítání za provozu.

Opětovné načítání za provozu můžete nakonfigurovat výběrem Nastavení z rozevíracího seznamu Opětovné načítání za provozu.

Snímek obrazovky konfigurace funkce Opětovné načítání za provozu.

Pokud chcete změnit nastavení, zastavte ladění. pak vyberte Nástroje>Options a upravte možnosti v Všechny Nastavení> Ladění>.NET/C++ Opětovné načítání za provozu. K dispozici jsou následující možnosti:

  • Enable Opětovné načítání za provozu: Použijte funkci Opětovné načítání za provozu s kódem .NET a C++, když je aplikace spuštěná s připojeným ladicím programem (F5).

  • Automaticky použít změny při pokračování (pouze nativní): Visual Studio automaticky zkompiluje a použije všechny neuhrazené změny kódu, které jste udělali při pokračování v procesu ze stavu přerušení. Pokud není vybráno, můžete změny uplatnit pomocí položky Uplatnit změny kódu v nabídce Ladění.

  • Upozornění na zastaralý kód (pouze nativní):: Zobrazí se upozornění na zastaralý kód.

  • Povolit při neladění: Povolí Opětovné načítání za provozu při spuštění aplikace bez připojeného ladicího programu (Ctrl + F5).

  • Aplikovat při ukládání souboru: Aplikuje změny při uložení souboru.

  • Verbóznost protokolování: Nastavte úroveň protokolování, když je povolen Opětovné načítání za provozu: Minimální, Podrobná nebo Diagnostická.

Snímek obrazovky nastavení pro .NET C++ Opětovné načítání za provozu ve Visual Studio.

Nebo otevřete dialogové okno Tools>Options a upravte možnosti v části Debugging>.NET/C++ Opětovné načítání za provozu. K dispozici jsou následující možnosti:

  • Enable Opětovné načítání za provozu: Povolí funkci Opětovné načítání za provozu při spuštění s připojeným ladicím programem (F5).

  • Enable Opětovné načítání za provozu při spuštění bez ladění: Povolí Opětovné načítání za provozu při spuštění bez připojeného ladicího programu (Ctrl+F5).

  • Apply Opětovné načítání za provozu při ukládání souboru: Aplikuje změny kódu při uložení souboru.

  • Logging Verbosity: Filtruje množství informací zobrazených v okně výstupu Opětovné načítání za provozu.

Screenshot nastavení pro .NET Opětovné načítání za provozu.

Pro C++ můžete nastavit další možnosti otevřením Nástroje>Možnosti>Ladění>Obecné. Ujistěte se, že je vybraná Enable Opětovné načítání za provozu a nastavte další možnosti:

  • Použít při pokračování (pouze nativní): Visual Studio automaticky zkompiluje a použije všechny neprovedené změny kódu, které jste provedli při pokračování procesu z přerušeného stavu. Pokud není vybráno, můžete změny uplatnit pomocí položky Uplatnit změny kódu v nabídce Ladění.

  • Upozornění na zastaralý kód (pouze nativní):: Zobrazí se upozornění na zastaralý kód.

U technologie .NET Opětovné načítání za provozu můžete také určit, zda je Opětovné načítání za provozu k dispozici na úrovni projektu .NET 6+ tím, že upravíte soubor launchSettings.json projektu a nastavíte hotReloadEnabled na false.

Příklad:

{
  "profiles": {
    "Console": {
      "commandName": "Project",
      "hotReloadEnabled": false
    }
  }
}

Konfigurace automatického restartování

Opětovné načítání za provozu může automaticky restartovat proces aplikace, když se provede nepodporovaná změna (označovaná také jako hrubá úprava) místo ukončení celé ladicí relace. Pokud to chcete povolit, upravte soubor projektu a přidejte následující deklaraci vlastnosti.

<PropertyGroup>
  <HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>

Tuto vlastnost můžete také nastavit v souboru Directory.Build.props . Automatické restartování funguje u typů projektů, ve kterých je možné provést rychlé restartování procesu (například některé projekty Aspire nebo web), takže můžete pokračovat v ladění s minimálním přerušením.

Jedná se o restartování založené na procesu. Pokud například ladíte několik projektů, znovu se sestaví a restartují pouze změněné projekty a všechny závislé projekty.

Konfigurace Opětovné načítání za provozu pro Razor

Spoluhostováním kompilátoru Razor uvnitř procesu Roslyn je úprava souboru .razor během Opětovné načítání za provozu rychlejší a efektivnější. Spoluhosting také zlepšuje celkovou spolehlivost při používání Opětovné načítání za provozu.

Chcete-li povolit spoluhosting, vyberte Nástroje>Možnosti, a potom vyhledejte cohost. Vyberte nebo zrušte výběr nastavení Použít server Roslyn Cohost pro Razor (vyžaduje restartování). Pokud tuto možnost povolíte, restartujte Visual Studio. Společné hostování je ve výchozím nastavení povolené.

Informace o řešení potíží najdete v tématu Psát a ladit běžící kód pomocí funkce Opětovné načítání za provozu ve Visual Studiu.

Zastavení změn kódu

Zatímco Opětovné načítání za provozu aplikuje změny kódu, můžete operaci zastavit.

Opatrnost

Zastavení změn kódu ve spravovaném kódu může vést k neočekávaným výsledkům. Použití změn ve spravovaném kódu je obvykle rychlý proces, takže jen zřídka je potřeba zastavit změny kódu ve spravovaném kódu.

Pokud chcete přestat používat změny kódu:

  • V nabídce Ladění zvolte Zastavit použití změn kódu.

    Tato položka nabídky je viditelná pouze v případě, že se použijí změny kódu.

    Pokud zvolíte tuto možnost, nebude potvrzena žádná změna kódu.