Udostępnij za pomocą


Edytuj i kontynuuj (Visual C#)

Za pomocą funkcji Przeładowywanie na gorąco lub Edytuj i kontynuuj dla języka C#możesz wprowadzać zmiany w kodzie w trybie przerwania lub uruchamiania podczas debugowania. Zmiany można zastosować bez konieczności zatrzymywania i ponownego uruchamiania sesji debugowania.

Podstawowe doświadczenie przeładowywania na gorąco działa z większością typów aplikacji .NET i wersji frameworku. Dotyczy to programów .NET Framework, .NET Core i .NET 5+ (zarówno dla języków C#, jak i Visual Basic). Oczekiwanie w tym scenariuszu polega na tym, że jeśli używasz debugera, zakładaj, że Hot Reload jest dostępny dla Ciebie i wypróbuj go!

Hot Reload obsługuje większość zmian, które można wprowadzić podczas sesji debugowania, ale są pewne wyjątki. Na przykład przeładowywanie na gorąco nie jest obsługiwane w przypadku zoptymalizowanego kodu ani sesji debugowania z włączonym zarządzanym i natywnym debugerem.

Aby uzyskać informacje na temat innych nieobsługiwanych scenariuszy, zobacz Obsługiwane zmiany kodu (C# i Visual Basic). Jeśli spróbujesz zastosować zmiany kodu w jednym z tych scenariuszy, zostanie wyświetlone okno komunikatu z informacją, że przeładowywanie na gorąco nie jest obsługiwane.

Używanie przeładowywania na gorąco

Przeładowywanie na gorąco dla języka C# odbywa się automatycznie po wprowadzeniu zmian w kodzie w trybie przerwania, a następnie kontynuuj debugowanie przy użyciu Kontynuuj, Krok lub Ustaw następną instrukcję. Jeśli ustawisz Gorące przeładowanie przy zapisie pliku na true, to również nastąpi automatycznie podczas zapisywania pliku.

Aby włączyć lub wyłączyć przeładowywanie na gorąco:

  1. Jeśli uczestniczysz w sesji debugowania, zakończ debugowanie (Debug>Zakończ Debugowanie lub Shift + F5).
  1. Otwórz okienko Narzędzia>Opcje, rozwiń sekcję Wszystkie ustawienia>Debugowanie>.NET/C++ Hot Reload.

  2. Wybierz lub wyczyść żądane opcje Włącz przeładowywanie na gorąco dla tej funkcji.

  1. Otwórz okno dialogowe Narzędzia> i rozwiń sekcję Debugowanie>.

  2. Wybierz lub wyczyść żądane opcje Włącz przeładowywanie na gorąco dla funkcji, a następnie wybierz przycisk OK.

Ustawienie zostanie zastosowane po uruchomieniu lub ponownym uruchomieniu sesji debugowania.

Aby użyć klasycznego doświadczenia Edytuj i Kontynuuj:

  1. Podczas debugowania w trybie przerwania wprowadź zmianę w kodzie źródłowym.

  2. Z menu Debugowanie wybierz pozycję Kontynuuj, Krok lub Ustaw następną instrukcję. Debugowanie jest kontynuowane przy użyciu nowego, skompilowanego kodu.

Niektóre typy zmian kodu nie są obsługiwane przez funkcję Edytuj i Kontynuuj. Aby uzyskać więcej informacji, zobacz Obsługiwane zmiany kodu (C# i Visual Basic).

Za pomocą funkcji Edytuj i Kontynuuj dla języka C#możesz wprowadzać zmiany w kodzie w trybie przerwania lub uruchamiania podczas debugowania. Zmiany można zastosować bez konieczności zatrzymywania i ponownego uruchamiania sesji debugowania. W trybie uruchamiania edytor źródłowy jest w trybie tylko do odczytu.

Edytowanie i kontynuowanie jest obsługiwane w UWP w Windows 10 lub nowszym, a także w aplikacjach x86 i x64 przeznaczonych dla .NET Framework 4.6 lub nowszych wersji na komputery stacjonarne (framework .NET Framework jest dostępny tylko jako wersja desktopowa).

Funkcja Edytuj i kontynuuj obsługuje większość zmian, które można wprowadzić podczas sesji debugowania, ale istnieją pewne wyjątki. Funkcja edytowania i kontynuacji nie jest obsługiwana w przypadku zoptymalizowanego, mieszanego kodu ani integracji CLR z SQL Server. Aby uzyskać informacje na temat innych nieobsługiwanych scenariuszy, zobacz Obsługiwane zmiany kodu (C# i Visual Basic). Jeśli spróbujesz edytować i kontynuować przy użyciu jednego z tych scenariuszy, zostanie wyświetlone okno komunikatu z informacją, że opcja Edytuj i kontynuuj nie jest obsługiwana.

Aby uzyskać informacje na temat innych nieobsługiwanych scenariuszy, zobacz Obsługiwane zmiany kodu (C# i Visual Basic). Jeśli spróbujesz zastosować zmiany kodu w jednym z tych scenariuszy, zostanie wyświetlone okno komunikatu z informacją, że przeładowywanie na gorąco nie jest obsługiwane.

Korzystanie z funkcji Edytuj i kontynuuj

Edytowanie i kontynuowanie dla języka C# odbywa się automatycznie po wprowadzeniu zmian w kodzie w trybie przerwania, a następnie kontynuuj debugowanie przy użyciu pozycji Kontynuuj, Krok lub Ustaw następną instrukcję lub oceń funkcję w oknie debugera.

Aby włączyć lub wyłączyć opcję Edytuj i kontynuuj:

  1. Jeśli uczestniczysz w sesji debugowania, zakończ debugowanie (Debug>Zakończ Debugowanie lub Shift+F5).

  2. W Narzędzia>Opcje (lub Debugowanie>Opcje) >Debugowanie>Ogólne, zaznacz lub wyczyść pole wyboru Włącz edycję i kontynuuj.

Ustawienie zostanie zastosowane po uruchomieniu lub ponownym uruchomieniu sesji debugowania.

Aby użyć opcji Edytuj i kontynuuj:

  1. Podczas debugowania w trybie przerwania wprowadź zmianę w kodzie źródłowym.

  2. W menu Debugowanie wybierz pozycję Kontynuuj, Krok lub Ustaw następną instrukcję lub oceń funkcję w oknie debugera.

    Debugowanie jest kontynuowane przy użyciu nowego, skompilowanego kodu.

Niektóre typy zmian kodu nie są obsługiwane przez funkcję Edytuj i Kontynuuj. Aby uzyskać więcej informacji, zobacz Obsługiwane zmiany kodu (C# i Visual Basic).