341 Stimmen

Der Haltepunkt wird derzeit nicht erreicht. Es wurden keine Symbole für dieses Dokument in einer Silverlight-Anwendung geladen

Ok, was ich habe:

Visual Studio 2010 RC, W7 x64, startete ein neues Projekt vom Typ Silverlight-Anwendung. Hosting der Silverlight-Anwendung in einem ASP.NET-Webanwendungsprojekt. Silverlight Version 3.0. Hinzufügen einer LinqToSQL-Klasse, eines WCF-Dienstes, einer Winform-Tester-Anwendung (Projekt in der Lösung) und einiger Klassen (ebenfalls als Projekte in der Lösung).

Gestern bekam ich plötzlich die Meldung "Der Haltepunkt wird derzeit nicht erreicht. No symbols have been loaded for this document.' Nachricht in der IDE erscheinen, aber es betrifft nur die Web Appliaction, ich kann die Silverlight und die Winform App debuggen.

Was ich versucht / getan habe, um die Meldung loszuwerden:

  • Visual Studio-Einstellungen zurücksetzen
  • entfernt alle Dateien in jedem \Temporary ASP.NET Files Folder (es gibt je einen für 32bit/64bit und für Framework 2.0 und 4.0)
  • versucht, mit Visual Studio Integrated Web Server zu debuggen - normalerweise verwende ich IIS, in der Projektausgabe der Lösung habe ich alle obj- und bin-Ordner in jedem Projektordner gelöscht
  • eine neue Lösung erstellt und alle Projekte zu dieser neuen Lösung hinzugefügt
  • die Datei solution suo gelöscht
  • eine neue ASP.NET-Webanwendung erstellt, um zu testen, ob es sich um ein VS-Installationsproblem handelt => ich kann dieses neue Projekt/diese Lösung debuggen
  • den Rechner mehrere Male neu gebootet
  • die vs.net-Installation repariert
  • einen IISReset durchgeführt
  • die Webanwendung aus dem IIS entfernt
  • Verwenden Sie die Schaltfläche Virtuelles Verzeichnis erstellen unter Projekteigenschaften der Webanwendung, um eine neue Webanwendung im IIS zu erstellen.
  • die Framework-Version jedes Projekts von 3.5 auf 4.0 geändert
  • Öffnete die Lösung auf meinem zweiten Rechner => gleiches Verhalten
  • Microsoft Connect nach Fehlern / ähnlichen Problemen durchsucht
  • 7 STUNDEN VERWENDET.

Also, dies geschieht das 2. Mal in meinem Leben. Letztes Mal habe ich es gelöst, indem ich den Ordner für temporäre ASP.NET-Dateien gelöscht habe, aber dieses Mal brauche ich Ihre Hilfe.

179voto

Hans K Punkte 391

Rechtsklick auf die Lösung --> Eigenschaften

Schauen Sie unter Gemeinsame Eigenschaften --> Startup-Projekt

Mehrere Startup-Projekte auswählen

Wählen Sie Aktion starten für die Projekte, die Sie debuggen möchten.

81voto

angularsen Punkte 7545

Ich hatte das gleiche Problem und habe beim Googeln zwei typische Lösungen dafür gefunden:

  1. Stellen Sie sicher, dass der Silverlight-Debugger im .Web-Projekt aktiviert ist. Öffnen Sie die Projekteigenschaften und wählen Sie den Silverlight-Debugger unter der Registerkarte "Web".

  2. Starten Sie Visual Studio neu und löschen Sie alle bin- und obj-Ordner.

Aber keine dieser Maßnahmen hat bei mir funktioniert . Dann erwähnte jemand weit unten in einem Thread, dass man stattdessen den IE als Browser verwenden sollte. Dadurch funktionierten Debugging und Haltepunkte wieder!

Editer :

Später hatte ich damit zu kämpfen, dass IE9 nicht funktionierte, weil er an den falschen Prozess angehängt wurde. Anstatt jedes Mal manuell an den richtigen IE-Prozess anzuhängen, fand ich eine nette Trick :

  • Klicken Sie mit der rechten Maustaste auf eine der erzeugten Seiten im Webprojekt (.html oder .aspx)
  • Klicken Sie auf "Durchsuchen mit...".
  • IE als Standardbrowser festlegen (wirkt sich nur auf die Auswahl des Browsers durch Visual Studio aus)

Jetzt startet Visual Studio den IE, wenn das .Web-Projekt ausgeführt wird, und verbindet sich mit dem richtigen Prozess. Das sollte genügen.

53voto

Bevan Punkte 42255

Jedes Mal, wenn dieser Fehler auftrat, stellte sich heraus, dass der Ordner, aus dem Visual Studio Assemblies lädt, sich von dem Ordner unterscheidet, aus dem die Webanwendung ausgeführt wird.

Das heißt, der Anwendungsserver führt die Anwendung von

C:\dev\MyApplication\bin 

aber Visual Studio führt das Debugging von

C:\dev\MyOtherApplication\bin (or something along those lines, anyway).

Hinweis: Aus verschiedenen Gründen führe ich mein Debugging mit IIS als Anwendungshost durch und nicht mit dem kleinen eigenständigen Gerät, das die meisten Leute verwenden. Dies könnte die Nützlichkeit meiner Antwort beeinflussen!

アップデート :

Für IIS ist das Verzeichnis des Anwendungsservers (d. h. C:\dev\MyApplication oben) ist die physisches Verzeichnis für die Webanwendung konfiguriert - dies kann durch Ändern der Grundeinstellungen für die Anwendung gesteuert werden.

Für Visual Studio ist das Debugging-Verzeichnis (d.h. C:\dev\MyOtherApplication oben) ist das Verzeichnis, in dem Ihr svc Dateien gefunden werden, normalerweise im gleichen Verzeichnis wie Ihr csproj Projektdatei.

46voto

Samuel Jack Punkte 31654

Bei mir stellte sich heraus, dass das Kontrollkästchen Eigenschaften->Erstellung->Code optimieren in der Debug-Konfiguration aktiviert worden war. Ich deaktivierte es, erstellte es neu und das Debugging funktionierte wie gewohnt.

22voto

Sameh Deabes Punkte 2860

Der Grund für Ihr Problem ist, dass die PDBs ("PDB steht für Program Database, ein proprietäres Dateiformat (entwickelt von Microsoft) zur Speicherung von Debugging-Informationen über ein Programm) nicht auf dem neuesten Stand sind, was verschiedene Gründe haben kann:

1- Wie Bevan schon sagte, kann es sein, dass Sie gerade eine andere Anwendung debuggen!

2- Sie debuggen eine andere Version der gleichen Anwendung. Sie haben z. B. eine zuvor erstellte Anwendung mit der aktuellen Version des Codes zum Debuggen verbunden, ohne sie (neu) zu erstellen.

Die Reinigung oder der Wiederaufbau der Lösung löst solche Probleme für mich.

Um sicherzugehen, dass das Problem nicht bei Ihnen liegt, versuchen Sie, die gleiche Anwendung mit VS 2008 zu debuggen (ich befürchte, dass es sich um einen Fehler in VS 2010 handeln könnte - es ist noch Beta!)

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