Ich habe gerade Visual Studio 2017 installiert. Nach dem Starten einer ASP.NET MVC-Anwendung erhalte ich die Meldung, dass das Chrome-Debugging in Visual Studio aktiviert ist.
Meine Haltepunkte in Visual Studio werden jedoch nicht erreicht. Die Haltepunkte in Razor-Code scheinen zu funktionieren, aber Javascript funktioniert nicht. Die Haltepunkte sind nicht vollständig rot, wie sie sein sollten. Ein Neustart oder Neuaufbau scheint keine Wirkung zu haben.
Ich habe das folgende Codebeispiel
@Html.Partial("_Test", Model.Test) // debugging works here
<script>
var i = 1;
console.log(i); // debugging does not work here or above
</script>
@section scripts {
<script>
var a = 11;
console.log(a); // debugging does not work here or above
</script>
}
Ich habe die Chrome-Debug-Konsole nicht geöffnet und die Option in Visual Studio ("JavaScript-Debugging aktivieren") aktiviert.
Laut diesem Blogeintrag sollte dies funktionieren: https://blogs.msdn.Microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in-google -Chrom/
Vermisse ich hier etwas? Kann es sein, dass dies in Visual Studio 2017 nicht funktioniert?
Ich habe nur eine Erweiterung und das ist Resharper, aber ich denke, das ist kein Problem.
Diese Funktion kann nicht für Javascript-Code in einer * .cshtml-Datei verwendet werden, sondern nur für Code in separaten * .js- (oder * .ts-) Dateien.
Beachten Sie, dass der Haltepunkt in der JavaScript-Datei aktiv ist, der Haltepunkt in der Rasiermesseransicht jedoch nicht.
Ich habe auch festgestellt, dass Haltepunkte für JavaScript-Dateien nicht getroffen werden, wenn beim Laden der Seite JavaScript-Code ausgeführt wird, wenn die Seite das erste Mal in der aktuellen Chrome-Sitzung geladen wird. Haltepunkte funktionieren nur, wenn das Dokument einmal vollständig geladen wurde.
Ein weiterer Tipp: Js Debug kann nur aktiviert werden, nachdem 'Start URL' beim Start/Debug festgelegt wurde.
Nur auf diese Weise wird VS an den Browserprozess angehängt.
Ich hatte das gleiche Problem. Ich habe die Anweisungen aus demselben Beitrag befolgt: https://blogs.msdn.Microsoft.com/webdev/2016/11/21/client-side-debugging-of-asp-net-projects-in- Google Chrome/
Ich habe Folgendes in Visual Studio gemacht: Gehen Sie zu Tools
-> Options
-> Debugging
-> General
und deaktivieren Sie die Einstellung "JavaScript-Debugging für ASP.NET (Chrome und IE) aktivieren". Änderungen gespeichert und dann die Webseite ausführen.
Danach habe ich festgestellt, dass Chrome vor dem Laden meiner Seite nicht die "Debug-Webseite" angezeigt hat. Dann schloss ich meine Webseite und stoppte die Debugging-Sitzung.
Ich habe die Option "Javascript-Debugging für ASP.NET (Chrome und IE) aktivieren" wieder aktiviert, die Webseite dann mit IE ausgeführt und es hat funktioniert. Die Seite wurde angehalten und der Haltepunkt wurde in meinem visuellen Studio angezeigt.
Ich hatte das gleiche Problem, neu in .net Core. Eine Lösung, die für mich funktionierte, bestand darin, den Debugger hinzuzufügen. am Anfang des Skripts:
<script>
debugger;
-- rest of your jscript here
</script>
Es funktioniert in vs 2017 nur mit der Aktivierungsoption "Javascript-Debugging für ASP.NET (Chrome und IE) aktivieren" und Einstellung des Debuggers. im js-Code in * .cshtml sowie in der * .js-Datei
Ich musste den Legacy-Chrome-JavaScript-Debugger aktivieren unter:
Optionen -> Tools -> Debugging -> Allgemein -> Aktivieren Sie den älteren Chrome JavaScript-Debugger für ASP.NET
Zwei Optionen, die Sie ausprobieren könnten:
Solution Explorer -> Internet Explorer -> <your view name>
hinzu. (Vorausgesetzt, Sie verwenden IE)Für diejenigen, die Google Chrome Portable verwenden (oder der Browser-Debugliste manuell Chrome hinzugefügt haben), hilft dies:
Sie müssen dann manuell an die richtige Chrome-Instanz und an die Viola anschließen
Meine beste Vermutung hier (zumindest in meinem Fall, möglicherweise auch in Ihrem Fall) ist, dass es sich um Bündelung handelt. Das Projekt, an dem ich gerade arbeite, bündelt separate Skripte in einem Big Daddy-Skript (ohne die Debug-Konfiguration zu minimieren). Meines Erachtens ist, dass VS meinen Haltepunkt nicht diesem ultimativen Skript im Browser zuordnen kann.
Ich weiß, dass dies die Frage nicht beantwortet, da es nur eine Ahnung ist, aber ich hoffe, dass es uns in die richtige Richtung weist. Wenn wir dies gegen die Erfahrungen anderer bestätigen können, könnte dies zu einer echten Antwort werden.
Nachdem ich darüber nachgedacht hatte, dass die einzige Möglichkeit, dieses Problem zu lösen, darin bestand, Visual Studio 2017 mithilfe des Installationsprogramms zu reparieren, wurde mir klar, dass wir BundleTable.EnableOptimizations = true;
in Bundle.config
hatten. Ich entfernte diese Zeile und fügte sie zur Web.Debug.config
-Transformation hinzu. Sie funktionierte wie erwartet.