Edytuj i kontynuuj: "zmiany nie są dozwolone, gdy…"

Nawet jeśli stworzę czysty projekt WinForms, Edytuj i kontynuuj nie działa i wyświetla mi się błąd:

Zmiany nie są dozwolone, gdy debugger został dołączony do już działającego procesu lub kod debugowany został zoptymalizowany w czasie kompilacji lub uruchomienia.

  1. opcja Edytuj i kontynuuj jest zaznaczona w Narzędzia → Opcje → debugowanie.
  2. optymalizacja nie jest włączona.
  3. wygląda na to, że nie ma żadnego managed profilera skonfigurowanego.
  4. jestem uruchamianie w trybie debugowania
  5. pracuję na procesorze x64 i Windows XP 32-bit, ale ustawienie docelowej platformy na x86, a nie jakikolwiek procesor nie pomaga.
  6. Naprawa instalacji Visual Studio nie pomaga.

Znalazłem również ten artykuł na stronie MSDN:

Scenariusze Nieobsługiwane

Edycja i kontynuacja nie są dostępne w następujących scenariuszach Debugowania:

  • Debugowanie w systemie Windows 98.

  • Debugowanie w trybie mieszanym (natywnym/zarządzanym).

  • Debugowanie SQL.

  • Debugowanie wysypiska doktora Watsona.

  • Edytowanie kodu po nieobsługiwanym wyjątku, gdy opcja" rozwiń stos wywołań na nieobsługiwanych wyjątkach" nie jest zaznaczona.

  • Debugowanie wbudowanej aplikacji runtime.

  • Debugowanie aplikacji za pomocą Dołącz do zamiast uruchamiania aplikacji za pomocą Start z menu debugowania.

  • Debugowanie zoptymalizowanego kodu.

  • Debugowanie kodu zarządzanego, gdy celem jest 64-bitowa aplikacja. Jeśli chcesz użyć opcji Edytuj i kontynuuj, musisz ustawić cel na x86. (Właściwości projektu, Karta kompilacji, Zaawansowane ustawienia kompilatora.).

  • Debugowanie starej wersji kodu po nieudanej kompilacji nowej wersji z powodu błędów kompilacji.

Ale mogę odpowiedzieć " nie " na każdy element z tej listy.

To działało wcześniej, ale kilka dni temu przestało działać i nie wiem, co może być powodem.

Author: nightcoder, 2009-06-18

30 answers

W końcu udało mi się rozwiązać problem: Odinstaluj Gallio

Gallio wydaje się mieć sporo szorstkich krawędzi i lepiej nie używać mbunit 3.0, ale używać mbunit 2.0 framework, ale używać Gallio runner, że jesteś uruchomiony bez instalacji z instalatora (który również zainstalował wtyczkę visual studio).

Nawiasem mówiąc, miałem problem nawet po "wyłączeniu" wtyczki Gallio. Tylko Deinstalacja rozwiązała problem.

PS. Edytowane przez nightcoder:
W moim przypadku Wyłączenie TypeMock Isolator (szyderczy framework) w końcu pomogło ! Edytuj i kontynuuj teraz działa!!!

Oto odpowiedź z obsługi TypeMock:

Po zajrzeniu dalej do edycji i kontynuować wydawanie, i rozmawiać o tym z Microsoftem, dotarliśmy wniosek nie może być rozwiązany do izolatora. Izolator realizuje Profiler CLR, a według naszego badania, gdy Profiler CLR jest włączone i dołączony, edytować i kontynuacja jest automatycznie wyłączana. Przykro mi to mówić. uważany za błąd, ale raczej za ograniczenie izolatora.

 18
Author: nightcoder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-07-22 15:05:54

Odpowiednie Rozwiązania

Oto niekompletna, nieuporządkowana lista możliwych rozwiązań do wypróbowania, jeśli chcesz szybko naprawić edycję i kontynuować:

  • upewnij się, że jesteś w trybie debugowania
  • upewnij się, że nie uruchamiasz procesu w trybie mieszanym
  • spróbuj ustawić cel procesora na x86 zamiast AnyCPU (na maszynach x64)
  • odznacz pole wyboru Optymalizuj kod dla trybu debugowania W projekcie Właściwości - > Debug
  • odznacz Włącz optymalizacje w Zaawansowane ustawienia kompilatora
  • (ASP.NET) Sprawdź odpowiedź nightcodera jeśli tak jest
  • (ASP.NET) Sprawdź ta odpowiedź (przez matrixugly) jeśli tak jest
  • (ASP.NET) upewnij się, że masz Edytuj i kontynuuj włączone na karcie Web (vs2010)
  • (ASP.NET) przejdź do Properties > Web > Servers i upewnij się, że włącza i Kontynuuj jest zaznaczone w polu Użyj serwera programistycznego Visual Studio .
  • (ASP.NET WebAPI) przed próbą edycji upewnij się, że metoda kontrolera zatrzymała się przy użyciu punktu przerwania.
  • przejdź do Tools > Options > Debugging > General i upewnij się, że Require source files to exactly match the original version jest odznaczona.
  • Używasz podróbek Microsoftu? Blokuje edycję i kontynuację.
  • zabić wszystkich *.vshost.exe instancje wybierając Zakończ drzewo procesów w Menedżerze Zadań . VS zregeneruje poprawną instancję.
  • Usuń wszystkie punkty przerwania za pomocą Debug- > Usuń wszystkie punkty przerwania
  • Włącz i kontynuuj istnieje zarówno w menu Narzędzia > Opcje > debugowanie, jak i w ustawieniach projektu . Koniecznie sprawdź oba miejsca. opcja Edytuj i kontynuuj nie jest obsługiwana przy ustawieniu Rozszerzony Intellitrace.
  • upewnij się debug Info w Properties projektu > Build > Advanced > Output > debug Info is set to Full
  • niektóre wtyczki mogą przeszkadzać. Sprawdź, wyłączając / odinstalowując, a następnie ponownie próbując innych rozwiązań.
  • Jeśli nie zwracasz wystarczającej uwagi, błąd pojawiający się podczas próby naprawienia tego może zmienić się w coś innego, co jest łatwiejsze do zdiagnozowania. Np. metoda zawierająca wyrażenie lambda nie może obsługiwać edycji i continue.
  • Upewnij się, że zmienna systemowa COR_ENABLE_PROFILING nie jest ustawione na 1. Niektóre profilery ustawiają to podczas instalacji i pozostawiają tak po odinstalowaniu. Otwórz wiersz polecenia i wpisz set, aby szybko sprawdzić, czy problem dotyczy Twojego systemu, jeśli tak, usuń zmienną lub ustaw ją na 0:

  • W systemie Windows 8 i nowszych wyszukaj System (Panel sterowania).

  • kliknij link Advanced system settings .
  • Kliknij Zmienne Środowiskowe .
  • Usunąć COR_ENABLE_PROFILING

  • Należy pamiętać o nieobsługiwanych scenariuszach (jak podano w pytaniu) i że nieobsługiwanych edycjach.

* przez "Ciebie" mam na myśli odwiedzającego stronę, który uderza głową w klawiaturę, aby znaleźć rozwiązanie.

Możesz edytować tę odpowiedź, jeśli masz inne wskazówki!

 39
Author: beppe9000,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-08 14:21:52

Jeśli debugujesz ASP.NET aplikacja, Przejdź do właściwości > web > Serwery i upewnij się, że "włącz i kontynuuj" jest zaznaczone w obszarze użyj Visual Studio Development Server.

 22
Author: viggity,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-10-28 13:37:16

Miałem ten sam problem. Nawet ponownie zainstalowałem VS 2008, ale problem nie zniknął. Jednak, kiedy usunąłem wszystkie break points, to zaczęło działać.

Debug->Delete All Breakpoints

Myślę, że stało się tak, ponieważ usunąłem stronę aspx, która miała punkty przerwania w kodzie, a następnie utworzyłem kolejną stronę o tej samej nazwie. To prawdopodobnie pomylił VS 2008.

 9
Author: Amer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-29 10:19:57

Kilka rzeczy do sprawdzenia

  • Upewnij się, że Twoja kompilacja jest ustawiona na Debug vs. Release
  • Upewnij się, że nie uruchamiasz procesu w trybie mieszanym
  • Jeśli na 64-bitowej maszynie upewnij się, że ustawiasz cel procesora na x86, a nie Dowolny Procesor

EDIT

Nie sądzę, aby to miało znaczenie, ale upewnij się, że proces hostingu jest włączony dla platformy docelowej. Pewnie nie pomoże.

Jeśli to repros dla nowych projektów, to może być coś bardziej subtelnego. Chciałbym spróbować następujące.

  • Backup HKCU:\Software \ Wow6432Node \ VisualStudio \ 9.0 (może po prostu zmień nazwę)
  • Usuń ten sam klucz
  • Spróbuj ponownie repro
 4
Author: JaredPar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 00:48:44

Jeśli twoje obawy dotyczą ASP.NET app, upewnij się, że masz włączoną edycję i kontynuację na karcie www (vs2010). Było też osobne ustawienie dla ASP.NET debugowanie we wcześniejszych wersjach.

Pozdrawiam,

Adam.

 4
Author: Adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-14 16:10:09

Żadne z powyższych rozwiązań nie zadziałało dla mnie (działa na maszynie 64x).

W końcu kliknąłem na 'advanced compiler settings'i 'enable optimizations' i mogę teraz przejść przez kod i edytować podczas debugowania.

 4
Author: Nifle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-16 12:48:39

Odkryłem, że mimo że w zakładce Właściwości projektu build & debug ustawione są na Debug i wszystkie inne ustawienia są poprawne, nadal otrzymuję wiadomość, jednak po wykopaniu trochę więcej w menu Zbuduj wybierz Menedżer konfiguracji... i upewnij się, że Debug jest wybierany również w dwóch miejscach. pomyśl...w ilu różnych miejscach trzeba ustawić debugowanie?????? mimo, że ustawiłeś Project-Configuration na Debug, to w Build-Manager nie jest zmieniany, więc zmieniłeś to samo ustawienie tam również konfiguracji projektu-wydaje się znowu problemem Microsoftu.......

 4
Author: RAL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-05 15:57:26

Ten problem jest spowodowany ustawieniem Intellitrace

Jeśli Intellitrace jest włączone upewnij się, że zaznaczone jest tylko Zdarzenie Intellitrace

W Przeciwnym Razie nie pozwoli to na edycję i kontynuację..

Jeśli klikniesz na Opcje Intellitrace zobaczysz Ostrzeżenia.

 4
Author: KuldeepVerma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-08-20 17:41:46

Dla mnie, z powodu, którego nie rozumiem, ustawienie "Generuj informacje o debugowaniu" w " Advanced Compiler Settings "zostało ustawione na" pdb-only "zamiast"Full".

Domyślnie ten parametr jest zawsze ustawiony na "Full", ale tajemniczy poltergeist zmienił ten parametr wczoraj wieczorem. :)

P. S. jestem w Visual Basic. Net z Visual Studio 2010

 3
Author: Samuel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-08-25 13:43:32

Po strzelaniu pomogło mi użycie VS2010:

Przejdź do Narzędzia, Opcje, debugowanie, ogólne i upewnij się, że nie zaznaczono opcji "Wymagaj plików źródłowych, aby dokładnie pasowały do oryginalnej wersji".

 3
Author: Vinay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-28 09:02:51

Dzieje się tak, gdy debuger nie uderzył punktu przerwania lub nie uderzył Break All (pauza). To nie może być takie proste, prawda?

 2
Author: Richard Hein,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-06-18 01:27:57

Miałem ten problem w Microsoft Visual Studio 2008 i rozwiązanie jest proste. po uruchomieniu projektu należy ustawić tryb "Debug", a nie "Release". Rozwiązanie another people może być przydatne.

 2
Author: user2412450,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-08 06:14:48

"Edytuj i kontynuuj", jeśli jest włączona, pozwoli Ci edytować kod tylko wtedy, gdy jest w trybie przerwania: np. przez wstrzymanie wykonania przez wyjątek lub przez naciśnięcie punktu przerwania.

Oznacza to, że nie możesz edytować kodu, gdy wykonanie nie jest wstrzymane! Jeśli chodzi o debugowanie (ASP.NET) projekty internetowe, jest to bardzo nieintuicyjne, ponieważ często chcesz wprowadzać zmiany między żądaniami. W tej chwili kod twojego (prawdopodobnie) debugowania nie jest uruchomiony, ale nie jest wstrzymywany ani jedno, ani drugie!
Aby to rozwiązać, możesz kliknąć "Break all" (lub nacisnąć Ctrl+Alt+Break ). Alternatywnie, Ustaw gdzieś punkt przerwania (np. w zdarzeniu Page_Load), a następnie przeładuj stronę, aby wstrzymać wykonanie, gdy dojdzie do punktu przerwania, i Teraz możesz edytować kod. Nawet kod w plikach .cs.

 2
Author: Protector one,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-01 10:12:13

Błąd mówi, że możliwa przyczyna to: "debugowany kod został zoptymalizowany w czasie kompilacji lub uruchomienia". Przejdź do Właściwości projektu - >Debuguj i odznacz pole optymalizacji kodu dla trybu debugowania.

 1
Author: pbalaga,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-18 08:43:29

Jeśli tworzę nowy projekt, edycje podczas debugowania nie działają. Jeśli stworzę nową stronę internetową, zmiany podczas debugowania będą działać zgodnie z oczekiwaniami.

 1
Author: Greg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-06 14:53:45

Niektóre rzeczy, które wydawały się pomocne przy użyciu VS2010:

  • Przejdź do Narzędzia, Opcje, debugowanie, ogólne i upewnij się, że nie zaznaczono opcji "Wymagaj plików źródłowych, aby dokładnie pasowały do oryginalnej wersji".
  • wiele .vshost.instancje exe można pozostawić po np. odłączeniu debuggera VS od zatrzymanego procesu. Spowoduje to zakłócenia w punktach przerwania i kompilacjach. Użyj Task Manager, Processes tab, aby zabić wszystkie instancje .vshost.exe klikając prawym przyciskiem myszy każdą instancję i wybierając koniec Drzewo Procesów. VS utworzy nową instancję.
 1
Author: Scott,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-04 02:55:36

Usunąłem zbiór danych z mojego projektu, ponieważ go nie używałem. Następnie mogłem zmodyfikować program podczas debugowania.

 1
Author: ashkan_jami,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-20 15:21:20

Zrobiłem wszystkie zmiany wymienione w każdej innej odpowiedzi i żadna nie zadziałała. Czego się nauczyłem? Włącz i kontynuuj istnieje zarówno w menu Narzędzia > Opcje > debugowanie, jak i w ustawieniach projektu. Po sprawdzeniu obu, włączyć i kontynuować pracował dla mnie.

 1
Author: stevebot,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-29 04:10:39

Natknąłem się na to dzisiaj-okazuje się, że mając debug Info ustawione na pdb-only (lub brak, jak sądzę) uniemożliwi edycję i kontynuowanie działania.

Upewnij się, że informacje o debugowaniu są ustawione jako" pełne"!

Właściwości Projektu > Build > Advanced > Output > Debug Info

 1
Author: Guy Danus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-14 23:12:50

W moim przypadku wystarczy zresetować do domyślnych ustawień debuggera i ustawić IntelliTrace-> only IntelliTrace events

 0
Author: Yuriy Vikulov,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-20 15:28:20

Embed typy interop visual studio powinny być ustawione na false

 0
Author: Wilma Fingerdoo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-06 01:30:11

Zdarzyło mi się to w połączonym pliku klasowym. Reszta projektu pozwalała na E & C, ale dostałem ten sam błąd podczas edycji połączonego pliku. Rozwiązaniem było złamanie połączonego pliku do własnego projektu i odniesienie się do projektu.

 0
Author: jlo-gmail,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-01 16:05:18

Stanąłem przed tym samym problemem. Mój problem polegał na tym, że mogłem zmodyfikować plik, ale nie inny (oba są w tym samym projekcie). Później okazało się, że plik, którego nie mogłem zmodyfikować, był również częścią innego projektu. Że inny projekt (test jednostkowy) nie został załadowany, a intelligent {[2] } vs debugger pokazuje błąd, że assembly dla tego podanego pliku nie został załadowany, a zmiany nie są dozwolone. Dziwne!

Dlatego musiałem rozładować projekt unit-test i kontynuować debugowanie EnC.

 0
Author: Ajay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-24 06:10:08

Miałem projekt bazy danych w rozwiązaniu, które powstrzymało projekt webforms przed edycją.

Kliknąłem "rozładuj" w projekcie bazy danych i wszystko teraz działa słodko.

 0
Author: Adam,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-10 04:08:42

Dla VS2017 może pomóc usunąć .plik suo w Twoim rozwiązaniu zadziałał. :)

 0
Author: Nieksa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-29 10:47:18

Miałem ten sam problem w Visual Studio 2005. Moja konfiguracja to 64 bity. Działało dobrze na jednym z rozwiązań VS, ale nie na drugim. Zauważyłem, że tylko włączyłem "Enable edit and continue" dla projektu, w którym chciałem wprowadzić zmiany w trybie debugowania. To ostatecznie rozwiązało się dla mnie, gdy wybrałem "Włącz i kontynuuj" dla mojego projektu start up.

Nie było żadnych zmian konfiguracyjnych poza koniecznością włączania i kontynuowania.

 0
Author: Sanjeev Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-03 17:22:32

Wydaje się nielogiczne, ale jedynym sposobem było wyłączenie opcji Edytuj i kontynuuj Z VS 2017... Następnie AspNet edit I continue zaczął działać...

 0
Author: FRK,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-16 14:48:34

Zadziałało dla mnie odznaczenie "użyj zarządzanego trybu zgodności" pod

Narzędzia -> Opcje - > Debugowanie

TBN: sprawdzenie lub odznaczenie "Wymagaj pliku źródłowego, aby dokładnie pasował do oryginalnej wersji" nie ma wpływu na E&C

Mam nadzieję, że to pomoże.

 0
Author: B. Cafaro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-13 10:50:33

Włącz edycję i kontynuuj tylko pracę Uruchom IIS Express. Nie działa na lokalnym ISS lub zewnętrznym Hostie.

 0
Author: Ahmad Aghazadeh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-22 18:16:03