9 Stimmen

Quellcode beim Debuggen bearbeiten

Ich habe VS2005 und ich bin derzeit versuchen, eine ASP.net-Webanwendung zu debuggen. Ich möchte etwas Code in der Code Behind-Datei ändern, aber jedes Mal, wenn ich an einem Haltepunkt anhalte und versuche, etwas zu bearbeiten, erhalte ich die folgende Fehlermeldung: "Änderungen sind nicht zulässig, wenn der Debugger an einen bereits laufenden Prozess angehängt wurde oder der zu debuggende Code optimiert ist."

Ich bin mir ziemlich sicher, dass ich alle Optionen für "Bearbeiten und Fortfahren" aktiviert habe. Irgendwelche Vorschläge?

17voto

Chris Bilson Punkte 1844

Das mag kontraintuitiv erscheinen, aber schalten Sie "Bearbeiten und Fortfahren" aus.

Vielleicht gibt es irgendwo eine weitere Einstellung, die mir erlaubt, schreibgeschützte Dateien zu bearbeiten, oder die mir erlaubt, auch dann zu bearbeiten, wenn ich gerade debugge... nein, wirklich!

Schalten Sie 2008 die Option "Bearbeiten und fortfahren" aus, und Sie können das Programm bearbeiten, während es läuft (aber die Änderungen werden nicht übernommen).

Wenn Sie die Funktion "Bearbeiten und Fortsetzen" tatsächlich nutzen möchten, müssen Sie sie auch für das Projekt aktivieren, und zwar auf der Registerkarte "Web" der Projekteinstellungen.

6voto

user13276 Punkte 4853

Die Anwendung läuft auf der Grundlage einer kompilierten Version Ihres Codes. Wenn Sie sie verändern, muss sie neu kompiliert werden, damit Ihre Änderungen funktionieren, was bedeutet, dass die laufende Version gegen die neue kompilierte Version ausgetauscht werden muss. Das ist ein ziemlich schwieriges Problem - und deshalb glaube ich, dass Microsoft es unmöglich gemacht hat, dies zu tun. Es geht eher darum, Sie davor zu schützen, dass Sie denken, dass einige Änderungen vorgenommen wurden, obwohl sie es in Wirklichkeit nicht waren.

0 Stimmen

> Es geht eher darum, Sie davor zu schützen, dass Sie denken, es seien Änderungen vorgenommen worden, die es in Wirklichkeit nicht waren. Dies wird vermieden, indem eine Meldung angezeigt wird, dass sich der angezeigte Quellcode von dem kompilierten unterscheidet. Ich meine mich zu erinnern, dass VS dies früher getan hat und andere Produkte dies auch tun.

2voto

Steve Steiner Punkte 5259

Für Asp.net kann man sich zwei Arten von "Bearbeiten und Fortsetzen" vorstellen.

Eine davon ist das klassische Bearbeiten und Aktualisieren des Browsers. Dies funktioniert, weil die Aktualisierung des Browsers alles neu kompiliert, mit Ausnahme des vorkompilierten Codes hinter den Dateien. Dieser Modus wird nicht als "Bearbeiten und Fortsetzen" bezeichnet, obwohl er in der Praxis einen ähnlichen Effekt hat. In diesem Modus können Sie den Code hinter den Dateien nicht ändern, da er vorkompiliert und bereitgestellt wurde, aber Sie können so ziemlich alles andere ändern.

Ein anderer Modus erlaubt es Ihnen, vorkompilierten Code hinter Dateien zu ändern, aber sonst nichts ... (dies ist der Modus, den Chris Bilson erwähnt, der in den Projekteigenschaften für ASP.Net eingestellt werden muss). In diesem Fall verwenden Sie die Funktion "Bearbeiten und Fortsetzen" des Debuggers, der kaum etwas über ASP.net weiß. Der Debugger sieht nur eine geladene .Net-Assembly und kann sie ändern, wenn er im Debugger angehalten wird, weil es ein Projekt in der Projektmappe gibt, das behauptet, zu wissen, wie man es baut. In diesem Fall werden Sie daran gehindert, Dinge zu ändern, die sonst die Debugging-Sitzung stören würden. Diese Methode ist jedoch die einzige Möglichkeit, den Code zu ändern, während er ausgeführt wird, anstatt eine Aktualisierung des Browsers zu erfordern.

0 Stimmen

Das ist großartig, die Einstellung von Aktivieren und Weiter auf der Registerkarte Webprojekt hat mein Problem gelöst.

1voto

Jarrett Meyer Punkte 18916

Sie sind berechtigt, Änderungen an der *.aspx Datei, während sie ausgeführt wird, und Sie können in Ihrer Webinstanz auf Aktualisieren klicken, um die Änderungen sofort zu sehen. Sie können jedoch keine Änderungen an der *.cs/*.vb o *.designer.cs/*.designer.vb Dateien, während das Programm läuft.

1voto

Rob Punkte 11

Ich suche für diese auf Visual Studio 2008 WAP (Web Application Project) und es dauerte zwei Tage, um die Lösung zu finden, so hier ist es in der Hoffnung, dass es jemand anderes hilft:

Es gibt zwei Stellen, die überprüft werden müssen, eine ist unter Tools-Optionen-Debugging-Edit And Continue-Enable Edit And Continue, die andere ist Rechtsklick-Projekteigenschaften-Web-Enable Edit And Continue

0 Stimmen

Danke, Rob. Ich vergesse diesen zweiten Platz immer.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X