Frage

Ich habe VS 2010 Beta 2 installiert und wollte mit einem ASP.NET-MVC 2-Projekt spielen. Ich habe einfach ein Skript (alert('hello');) in den index.aspx Ansicht des Heim-Controller, und ich kann sehen, es ausgeführt wird. Wenn ich versuche, einen Haltepunkt zu setzen, ist es jedoch, wird nie getroffen. Ich habe auch versucht die „Debugger“ Schlüsselwort zu verwenden, und wenn ich das tue, erhalte ich eine enttäuschende „gibt es keinen Quellcode für den aktuellen Standort“ -Meldung. Ich habe auch diese Meldung, wenn ich versuche, unabhängig zu einem IE Prozess anhängen, wo meine Anwendung ausgeführt wird.

Was muss ich tun, um eine freundliche Skriptdebuggen Erfahrung zu bekommen? (Ich habe Firebug erfolgreich verwendet, um dieses zu debuggen, aber aus irgendeinem Grunde ziehe ich die VS-Debugger.)

Hier sind einige Details meiner Konfiguration:

  • Ich meine Sachen in VS 2010 Beta 2.
  • Start
  • IE8 Version 8.0.7600.16385 ist als Standardbrowser.
  • Die "Skriptdebugging deaktivieren (Internet Explorer)" erweiterte Option deaktiviert ist.
  • Die "Skriptdebugging deaktivieren (Andere)" Option deaktiviert ist.
  • In meinem ASP.NET MVC 2-Projekt "web" Eigenschaften Registerkarte wird die ASP.NET-Debugger überprüft. Alle anderen sind nicht markiert.
  • Visual Studio 2008 Skriptdebuggen scheint ganz gut zu funktionieren.
War es hilfreich?

Lösung

Der Debugger sowohl Silverlight-Code nicht debuggen kann und Script-Code zur gleichen Zeit, wenn die Silverlight-Debugger ausgewählt JavaScript Debugging ausgeschaltet ist.

    Gehen Sie
  1. die Eigenschaften des Projekts (Alt + Enter).
  2. Für ein Web-Site-Projekt: Wählen Sie "Start-Optionen". Oder für einen Web Appliction. Gehen Sie auf die Registerkarte Web und unten finden Sie die Option Debuggers sehen
  3. Überprüfen Sie, ob das Silverlight-Kontrollkästchen nicht aktiviert ist, wenn Sie JavaScript debuggen können, wollen. (Es ist bedauerlich, dass der UI hier ist nicht klar, über diese Nebenwirkung.)

Andere Tipps

Ich habe die gleichen Probleme. Ich war nicht in der Lage, die IDE zu erhalten, auch an einem Haltepunkt in einem Skript-Tag-Satz zu brechen. Jedoch, wenn ich fügte hinzu: „Debugger“; als die erste Zeile in dem Script-Tag konnte die IDE kennen zu reagieren, aber dann nur zu sagen, dass die disassebly nicht availble ist.

Aber ich war in der Lage, wie „Schritt in“ auf den Debug-Tool klicken und „Step over“. Als ich das tat, tat der IDE Fortschritte in einige der externen Scripts, die ich verwende (JQuery und Google Maps). Also nahm ich die JavaScript-Code-Block aus dem Blick und steckte es in eine separate JS-Datei im „Content“ -Ordner. Dann habe ich ein Skript-Tag diese neue JS-Datei (url = „/Content/Test.js“) zu verweisen.

Es hat funktioniert ... ein wenig störend empfunden werden, dass Sie durch diese Anstrengung gehen, aber vielleicht gibt es etwas für JavaScript gesagt wird, nicht direkt in einer Ansicht enthalten ist. Ich hoffe, dass dies ein Fehler ist, dass sie beabsichtigen, zu beheben.

Wenn auf IE Debuggen, scheint VS einen Ordner namens ‚Script Dokumente‘ zum Solution Explorer hinzuzufügen. In diesem Ordner gibt es einen anderen Ordner ‚Windows Internet Explorer‘ genannt, und in der es ich sehe alle geladen js Skripte und die (kompiliert) HTML-Datei aktuell IE angezeigt wird. Haltepunkte setzen auf die Script-Tags in dieser HTML-Datei für mich arbeiten.

dies die Eigenschaften des Projekts gehen zu beheben und wählen Sie „Startoptionen“. Überprüfen Sie im Anschluss den nativen Code Kontrollkästchen. und deaktivieren Sie die Silverlight-Kästchen zum Ankreuzen, da beide Optionen nicht zusammen funktioniert.

Strg + Alt + P (Attach to Process), wählen Sie IE, wählen Sie 'Skript' für die Debug-Typ.

Wie Ryan oben erwähnt, zog ich mein Skript in eine separate Datei unter dem Ordner Scripts. Ich habe auch Debug in den Namen des Skripts hinzugefügt, so wurde es MyTestScript. debug js. Ich schloss das Skript über einen Script-Tag und konnte Bruchstellen in der Skriptdatei, die der Debugger Treffer gesetzt.

Ich habe festgestellt, dass die Google Chrome Devloper Werkzeug perfekt das JavaScript zeigt. In meinem Fall bin Laden ich normalerweise das Skript mit jQuery getScript Funktion und Ausführung des Codes wird in der Regel durch einen jQuery Rückruf auf eine Seite oder Handhabung eines Ereignisses zu laden. Mit Visual Studio 2010, traf ich häufig den „Keine Quelle“ Bug. Sad Ich brauche Chrome JavaScript zu debuggen, die Teil meines Visual Studio-Projekt ist.

eine separate JS-Datei verwendet, hat seine Nachteile. Zum Beispiel können Sie nicht MVC Helfer verwenden. Microsoft wirklich braucht diese ein, um herauszufinden.

Intellisense funktioniert auch nicht richtig in Skriptblöcken auf einen Blick, selbst wenn Sie die Referenz Kommentare wie diese sind:

/// <reference path="/Scripts/jquery-1.6-vsdoc.js" />
/// <reference path="/Scripts/jquery-1.6.js" />

Intellisense funktioniert gut in der JS-Datei mit diesem Ansatz though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top