Selbst wenn ich ein sauberes WinForms-Projekt erstelle, funktioniert Bearbeiten und Fortfahren nicht und gibt mir den Fehler:
Änderungen sind nicht zulässig, wenn der Debugger an einen bereits ausgeführten Prozess angehängt wurde oder der zu debuggende Code zur Erstellung oder Laufzeit optimiert wurde.
- Die Option Bearbeiten und Fortfahren ist unter Extras → Optionen → Debuggen aktiviert.
- Die Optimierung ist nicht aktiviert.
- Es scheint, als sei kein verwalteter Profiler eingerichtet.
- Ich laufe im Debug-Modus
- Ich verwende eine x64-CPU und Windows XP 32-Bit, aber das Festlegen des Plattformziels auf x86 anstelle von AnyCpu hilft nicht.
- Das Reparieren der Visual Studio-Installation hilft nicht.
Ich habe diesen Artikel auch auf der MSDN-Website gefunden:
Nicht unterstützte Szenarien
Bearbeiten und Fortfahren ist in den folgenden Debugging-Szenarien nicht verfügbar:
Debuggen unter Windows 98.
Debugging im gemischten Modus (nativ / verwaltet).
SQL-Debugging.
Debuggen eines Dr. Watson-Dumps.
Bearbeiten von Code nach einer nicht behandelten Ausnahme, wenn die Option "Aufrufstapel bei nicht behandelten Ausnahmen abwickeln" nicht ausgewählt ist.
Debuggen einer eingebetteten Laufzeitanwendung.
Debuggen einer Anwendung mit Anhängen an, anstatt die Anwendung mit Start im Menü Debuggen auszuführen.
Optimierten Code debuggen.
Debuggen von verwaltetem Code, wenn das Ziel eine 64-Bit-Anwendung ist. Wenn Sie Bearbeiten und Fortfahren verwenden möchten, müssen Sie das Ziel auf x86 festlegen. (Projekteigenschaften, Registerkarte Kompilieren, Einstellung Erweiterter Compiler.)
Das Debuggen einer alten Version Ihres Codes nach einer neuen Version konnte aufgrund von Erstellungsfehlern nicht erstellt werden.
Aber ich kann auf jeden Punkt in dieser Liste mit "Nein" antworten.
Es hat früher funktioniert, aber vor einigen Tagen hat es aufgehört zu funktionieren, und ich weiß nicht, was der Grund sein könnte.
quelle
Antworten:
Endlich muss ich das Problem lösen: Gallio deinstallieren
Gallio scheint ziemlich viele Ecken und Kanten zu haben, und es ist besser, nicht MbUnit 3.0 zu verwenden, sondern das MbUnit 2.0-Framework zu verwenden, sondern den Gallio Runner zu verwenden, den Sie ohne Installation vom Installationsprogramm ausführen (das auch ein Visual Studio-Plugin installiert hat).
Übrigens hatte ich das Problem auch nach dem "Deaktivieren" des Gallio-Plugins. Nur die Deinstallation löste das Problem.
PS. Bearbeitet von Nightcoder:
In meinem Fall hat das Deaktivieren von TypeMock Isolator (Mocking Framework) endlich geholfen ! Edit & Continue funktioniert jetzt !!!
Hier ist die Antwort vom TypeMock-Support:
quelle
Andere anwendbare Lösungen
Unten finden Sie eine unvollständige, ungeordnete Liste möglicher Lösungen, die Sie ausprobieren sollten, wenn Sie * versuchen, Edit & Continue schnell zu beheben.
Stellen Sie sicher, dass die Systemvariable
COR_ENABLE_PROFILING
nicht auf gesetzt ist1
. Einige Profiler stellen dies bei der Installation ein und lassen es nach der Deinstallation so. Öffnen Sie eine Eingabeaufforderung und geben Sie ein,set
um schnell zu überprüfen, ob Ihr System betroffen ist. Entfernen Sie in diesem Fall die Variable oder setzen Sie sie auf0
:COR_ENABLE_PROFILING
Beachten Sie nicht unterstützte Szenarien (wie in der Frage angegeben) und nicht unterstützte Änderungen .
* Mit "Sie" meine ich den Besucher der Seite, der seinen Kopf auf eine Tastatur hämmert, um die Lösung zu finden.
Sie können diese Antwort jederzeit bearbeiten, um Ihre Problemumgehung hinzuzufügen, wenn sie hier nicht aufgeführt ist!
quelle
Wenn Sie eine ASP.NET-Anwendung debuggen, gehen Sie zu Eigenschaften> Web> Server und stellen Sie sicher, dass unter Visual Studio Development Server verwenden die Option "Aktivieren und fortfahren" aktiviert ist.
quelle
Ich hatte das gleiche Problem. Ich habe VS 2008 sogar neu installiert, aber das Problem ist nicht behoben. Als ich jedoch alle Haltepunkte löschte, fing es an zu funktionieren.
Ich glaube, es passierte, weil ich eine Aspx-Seite gelöscht hatte, deren Code Haltepunkte enthielt, und dann eine weitere Seite mit demselben Namen erstellt hatte. Dies hat den VS 2008 wahrscheinlich verwirrt.
quelle
Ein paar Dinge zu überprüfen
BEARBEITEN
Ich glaube nicht, dass dies von Bedeutung sein sollte, aber stellen Sie sicher, dass der Hosting-Prozess für die Zielplattform aktiviert ist. Wird wahrscheinlich nicht helfen.
Wenn es sich um neue Projekte handelt, ist es möglicherweise noch subtiler. Ich würde folgendes versuchen.
quelle
Keine der oben genannten Lösungen hat bei mir funktioniert (läuft auf einem 64x-Computer).
Schließlich habe ich auf
'advanced compiler settings'
und UNCHECKED'enable optimizations
' geklickt und kann jetzt beim Debuggen durch den Code gehen und ihn bearbeiten.quelle
Wenn "Bearbeiten und fortfahren" aktiviert ist, können Sie Code nur im Unterbrechungsmodus bearbeiten, z. B. indem die Ausführung durch eine Ausnahme angehalten wird oder indem ein Haltepunkt erreicht wird.
Dies bedeutet, dass Sie den Code nicht bearbeiten können , wenn die Ausführung nicht angehalten wird! Wenn es um das Debuggen von ASP.NET-Webprojekten geht, ist dies sehr uninteressant, da Sie häufig Änderungen zwischen Anforderungen vornehmen möchten. Zu diesem Zeitpunkt wird der Code, den Sie (wahrscheinlich) debuggen, nicht ausgeführt, aber auch nicht angehalten!
Um dies zu lösen, können Sie auf "Alle brechen" klicken (oder Ctrl+ Alt+ drücken Break). Alternativ können Sie irgendwo einen Haltepunkt festlegen (z. B. in Ihrem
Page_Load
Ereignis) und dann die Seite neu laden, sodass die Ausführung angehalten wird, wenn sie den Haltepunkt erreicht. Jetzt können Sie Code bearbeiten. Sogar Code in.cs
Dateien.quelle
Aus einem Grund, den ich nicht verstehe, wurde die Einstellung "Debug-Informationen generieren" in den "Erweiterten Compiler-Einstellungen" auf "Nur pdb" anstelle von "Voll" gesetzt.
Standardmäßig ist dieser Parameter immer auf "Voll" eingestellt, aber ein mysteriöser Poltergeist hat diesen Parameter letzte Nacht geändert. :) :)
PS Ich bin in Visual Basic .Net mit Visual Studio 2010
quelle
Wenn Sie sich mit einer ASP.NET-App befassen, stellen Sie sicher, dass Sie auf der Registerkarte "Web" (vs2010) die Option "Bearbeiten" und "Weiter" aktiviert haben. In früheren Versionen gab es auch eine separate Einstellung für das ASP.NET-Debugging.
Grüße,
Adam.
quelle
Ich habe festgestellt, dass, obwohl unter den Projekteigenschaften die Registerkarte "Erstellen und Debuggen" auf "Debuggen" gesetzt ist und alle anderen Einstellungen korrekt sind, die Meldung weiterhin angezeigt wird. Nachdem Sie im Menü "Erstellen" weitere Informationen ausgegraben haben, wählen Sie "Konfigurations-Manager ..." und stellen Sie sicher, dass "Debuggen" ausgewählt ist an zwei Stellen auch dort. go figure ... wie viele verschiedene Stellen benötigen sie, um das Debug zu setzen ?????? Obwohl Sie Project - Configuration auf Debug setzen und dann unter Build - Manager ändern, wird es nicht geändert, sodass Sie dort auch die gleiche Einstellung vorgenommen haben. Project Configuration - scheint wieder ein Microsoft-Problem zu sein .......
quelle
Dieses Problem ist auf die Intellitrace-Einstellung zurückzuführen
Wenn Intellitrace aktiviert ist, stellen Sie sicher, dass nur das Intellitrace-Ereignis aktiviert ist
Andernfalls können Sie nicht bearbeiten und fortfahren.
Wenn Sie auf Intellitrace-Optionen klicken, werden die Warnungen angezeigt.
quelle
Die folgenden Aufnahmen haben mir bei der Verwendung von VS2010 geholfen:
Gehen Sie zu Extras, Optionen, Debugging, Allgemein und stellen Sie sicher, dass "Quelldateien müssen genau mit der Originalversion übereinstimmen" deaktiviert ist.
quelle
Dies geschieht, wenn der Debugger keinen Haltepunkt erreicht hat oder Sie nicht alle brechen (Pause). Es könnte nicht so einfach sein, oder?
quelle
Der Fehler besagt, dass eine mögliche Ursache ist: "Der zu debuggende Code wurde zur Erstellung oder Laufzeit optimiert". Gehen Sie zu Projekteigenschaften-> Debuggen und deaktivieren Sie das Kontrollkästchen Code optimieren für den Debug-Modus.
quelle
Ich hatte dieses Problem in Microsoft Visual Studio 2008 und die Lösung ist einfach. Wenn Sie Ihr Projekt ausführen, stellen Sie bitte den "Debug" -Modus und nicht "Release" ein. Die Lösung für andere Personen kann nützlich sein.
quelle
Wenn ich ein neues Projekt erstelle, funktionieren Änderungen beim Debuggen nicht. Wenn ich eine neue Website erstelle, funktionieren die Änderungen beim Debuggen wie erwartet.
quelle
In meinem Fall hilft es, nur die Standard-Debugger-Einstellungen zurückzusetzen und IntelliTrace-> nur Intellytrace-Ereignisse festzulegen
quelle
Einige Dinge, die bei der Verwendung von VS2010 zu helfen schienen:
quelle
Ich habe einen Datensatz aus meinem Projekt entfernt, weil ich ihn nicht verwendet habe. Danach konnte ich das Programm beim Debuggen ändern.
quelle
Ich habe alle in jeder anderen Antwort erwähnten Änderungen vorgenommen und keine hat funktioniert. Was habe ich gelernt? Aktivieren und Fortfahren ist sowohl im Menü Extras> Optionen> Debuggen als auch in den Projekteinstellungen vorhanden. Nachdem ich beide überprüft hatte, arbeiteten Enable und Continue für mich.
quelle
Ich bin heute darauf gestoßen - es stellt sich heraus, dass die Einstellung von Debug-Informationen auf Nur-PDF (oder keine, wie ich mir vorstellen kann) das Bearbeiten und Fortfahren der Arbeit verhindert.
Stellen Sie sicher, dass Ihre Debug-Informationen zuerst auf "voll" gesetzt sind!
Projekteigenschaften> Erstellen> Erweitert> Ausgabe> Debug-Informationen
quelle
Scheint unlogisch, aber die einzige Möglichkeit bestand darin, das Bearbeiten zu deaktivieren und die VS 2017-Optionen fortzusetzen ... Dann begann das Bearbeiten und Fortfahren von AspNet zu funktionieren ...
quelle
Was für mich funktionierte, war das Deaktivieren von "Verwalteten Kompatibilitätsmodus verwenden" unter
TBN: Das Aktivieren oder Deaktivieren von "Quelldatei muss genau mit der Originalversion übereinstimmen" scheint keinen Einfluss auf die E & C zu haben
Hoffe das kann helfen.
quelle
Aktivieren Sie Bearbeiten und führen Sie nur die Arbeit aus, indem Sie IIS Express ausführen. Arbeiten Sie nicht in der lokalen ISS oder im externen Host.
quelle
Ich hatte dieses nervige Problem, seit ich mein VS 2019 auf 16.4.3 aktualisiert habe und mir große Kopfschmerzen bereitet habe.
Schließlich habe ich das Problem folgendermaßen gelöst:
1. Stoppen Sie das Debuggen.
2. Wählen Sie die Lösung im "Projektmappen-Explorer" aus.
3. Ändern Sie im Eigenschaftenfenster die Eigenschaft "Aktive Konfiguration" von "Release | Beliebige CPU" in "Debuggen | Beliebige CPU".
4 . In Debug> Optionen> Allgemein das Kontroll Bearbeiten und Fortfahren Checkbox
das ist für mich gearbeitet, und hoffen , dass es auch für Sie funktioniert.
quelle
Interop-Typen einbetten Visual Studio sollte auf false gesetzt sein
quelle
Ich hatte dies in einer verknüpften Klassendatei geschehen. Der Rest des Projekts erlaubte E & C, aber ich habe den gleichen Fehler beim Bearbeiten der verknüpften Datei erhalten. Die Lösung bestand darin, die verknüpfte Datei in ein eigenes Projekt zu unterteilen und auf das Projekt zu verweisen.
quelle
Ich hatte das gleiche Problem. Mein Problem war, dass ich eine Datei ändern konnte, aber keine andere (beide befinden sich im selben Projekt). Später stellte ich fest, dass die Datei, die ich nicht ändern konnte, auch Teil eines anderen Projekts war. Das andere Projekt (Unit Test) wurde nicht geladen, und intelligent VS-Debugger den Fehler anzeigt, dass die Assembly für diese bestimmte Datei nicht geladen wurde und Änderungen nicht zulässig sind. Wie seltsam!
Daher musste ich das Unit-Test-Projekt entladen und das EnC-Debugging fortsetzen.
quelle
Ich hatte ein Datenbankprojekt in der Lösung, das die Bearbeitung des Webforms-Projekts verhinderte.
Ich habe im Datenbankprojekt auf "Entladen" geklickt und jetzt funktioniert alles gut.
quelle
Für VS2017 kann es hilfreich sein, die .suo-Datei in Ihrer Lösung zu entfernen, es hat bei mir funktioniert. :) :)
quelle