it-swarm.com.de

Wie kann ich Abhilfe schaffen "Der Haltepunkt wird derzeit nicht getroffen. Für dieses Dokument wurden keine Symbole geladen." Warnung?

C # Desktopanwendung auf Express Edition. Arbeitete dann nicht 5 Sekunden später.

Ich habe folgendes versucht.

  • Stellen Sie sicher, dass die Debug-Konfiguration, das Debug-Flag und die vollständigen Debug-Informationen für alle Assemblys festgelegt sind.
  • Löschen Sie alle bin- und obj-Ordner und alle mit dem Projekt verbundenen DLLs von meinem gesamten Computer.
  • Erstellen Sie Projekte neu, die das Problem von Grund auf verursachen.
  • Starten Sie neu.

Ich habe zwei WinForms-Projekte in der Lösung. Einer von ihnen lädt die Debug-Informationen, einer nicht. Beide beziehen sich auf die Assembly, über die ich Debug-Informationen auf dieselbe Weise in der Projektdatei abrufen möchte. Irgendwelche Ideen?


Ich möchte hier hinzufügen, meistens für mich, wenn ich zur Beantwortung dieser Frage zurückkomme, dass Symbole nicht geladen werden, bis die Assembly geladen ist, und die Assembly nicht geladen wird, bis sie benötigt wird. Wenn sich der Haltepunkt in einer Bibliothek befindet, die nur in einer Funktion in Ihrer Hauptbaugruppe verwendet wird, werden die Symbole nicht geladen (und der Haltepunkt wird als nicht getroffen angezeigt), bis diese Funktion aufgerufen wird.

1282
Instance Hunter

Starten Sie das Debuggen, sobald Sie an einem Haltepunkt angelangt sind oder Debug > Break All verwendet haben, verwenden Sie Debug > Windows > Modules. Sie sehen eine Liste aller Assemblys, die in den Prozess geladen werden. Suchen Sie diejenige, für die Sie Debug-Informationen erhalten möchten. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Symbol Load Information. Sie erhalten ein Dialogfeld, in dem alle Verzeichnisse aufgeführt sind, in denen nach der PDB-Datei für die Assembly gesucht wurde. Stellen Sie sicher, dass diese Liste mit dem tatsächlichen Speicherort der .pdb übereinstimmt. Stellen Sie sicher, dass es keine alte findet.

In normalen Projekten sollten die Assembly und ihre .pdb-Datei immer von der IDE in den gleichen Ordner wie Ihre .exe kopiert werden. Der bin\Debug-Ordner Ihres Projekts. Stellen Sie sicher, dass Sie einen aus dem GAC entfernen, wenn Sie damit gespielt haben.

922
Hans Passant

Versuchen Sie zunächst, Ihr Projekt neu zu erstellen, indem Sie mit der rechten Maustaste auf das Projekt klicken> Neu erstellen Wenn dies nicht funktioniert, versuchen Sie, das Projekt zu bereinigen (rechte Maustaste auf das Projekt> Bereinigen).

Wenn das nicht funktioniert hat, überprüfen Sie dies:

  1. Klicken Sie mit der rechten Maustaste auf Ihr Projekt.
  2. wählen Sie [Eigenschaften] aus.
  3. wählen Sie die Registerkarte [Build]
  4. stellen Sie sicher, dass [DEBUG-Konstante definieren] und [TRACE-Konstante definieren] aktiviert sind
  5. Klicken Sie unten auf der Registerkarte "Erstellen" auf die Schaltfläche {[Erweitert]
  6. Stellen Sie sicher, dass [Debug Info:] auf [full] gesetzt ist.
  7. Klicken Sie auf [OK] und neu erstellen das Projekt ;-)

(Schritt 6 generiert die .pdb-Dateien, dies sind die Debugsymbole)

308
juFo

Nur etwas einfaches zu versuchen - Sie haben es vielleicht schon probiert. Klicken Sie mit der rechten Maustaste auf die Projektmappe im Projektmappen-Explorer, klicken Sie auf "Bereinigung der Projektmappe". Dadurch werden alle kompilierten und temporären Dateien gelöscht, die einer Projektmappe zugeordnet sind.

Führen Sie eine Neukonstruktion der Lösung durch und versuchen Sie, erneut zu debuggen.

Ich hatte auch Probleme mit Haltepunkten mehrerer Projekte in einer Lösung - einige als x86 kompiliert, andere als x64.

254
Patrick

Deaktivieren Sie die Option "Just My Code" in den Debug/General-Einstellungen.

203
sublimental

Diesen Beitrag von Hans K , den ich im ähnlichen Thread >> HERE << gefunden habe, überqueren

Klicken Sie mit der rechten Maustaste auf Lösung -> Eigenschaften

Schauen Sie unter Allgemeine Eigenschaften -> Startprojekt

Wählen Sie mehrere Startprojekte aus

wählen Sie Aktion starten für die Projekte, die Sie zum Debuggen benötigen.

139
jp2code

Die ausgewählte Antwort veranlasste mich, mein Problem zu beheben. Aber ich muss noch ein paar Dinge tun:

Selbst wenn "Debug" in der Dropdown-Liste ausgewählt ist:

enter image description here

Und im Projekt Eigenschaften> Build:

enter image description here

Das Visual Studio hat keine Symbole in ein bestimmtes Projekt geladen. In diesem Dropdown-Menü wähle ich "Configuration Manager" aus und stellte fest, dass die Einstellungen für mein Webprojekt falsch waren:

enter image description here

enter image description here

Dann habe ich das auf "Debug" gesetzt und es begann die .pdb-Datei zu generieren. ABERIch muss PDB und DLL manuell kopieren und in den Ordner einfügen, den VS gesucht hat (hier hat mir die ausgewählte Antwort geholfen):

enter image description here

54

Debug> Windows> Modules um zu sehen, welche Module geladen wurden, stelle mich in die richtige Richtung.

In meinem Fall schien IIS Express eine andere DLL von den temporären ASP.NET-Dateien zu laden.

Die Lösung?

  1. Navigieren Sie zu C:\Users\<YOUR USER>\AppData\Local\Temp\Temporary ASP.NET Files\vs
  2. Löschen Sie alles in diesem Verzeichnis!
41
James S

Ich konnte den Fehler beheben, indem ich einfach die Option in der Option "An Prozess anhängen" auf "Die Art des zu debuggenden Codes automatisch festlegen" auswähle, wie im beigefügten Screenshot gezeigt.

Folgen Sie einfach den folgenden Schritten:

  • Gehen Sie zu Debug aus der Menüleiste 
  • Klicken Sie auf An Prozess anhängen  
  • Klicken Sie in der Nähe der Option Attach to auf die Schaltfläche Select  
  • Das Select Code Type Fenster erscheint 
  • Wählen Sie nun die Option Bestimmen Sie automatisch den zu debuggenden Code und klicken Sie auf die Schaltfläche OK.

Fixed Debugging Error

38
theITvideos

Überprüfen Sie, ob Ihre .pbd-Datei in Ihrem bin/Debug-Ordner fehlt. Wenn dies der Fall ist, gehen Sie zu "Eigenschaften" Ihres Projekts, wählen Sie "Erstellen" und anschließend "Erweitert". Wählen Sie in dem erscheinenden neuen Fenster unter "Debuginfo" die Option "voll". Dies war mein Problem und wurde für mich gelöst.

 Showing where to find the setting

36

Manchmal wird die Variable breakpoint zwar getroffen, obwohl Sie diesen Fehler erhalten. Dies passiert ziemlich häufig in der Views eines MVC web app.

34
Serj Sagan

In meinem Fall wurde "Optimize Code" in meinen Projekteigenschaften geprüft. Dies veranlasste VS dazu, meine Assembly als "nicht meinen Code" zu sehen, und wiederum wurden keine Symbole dafür geladen.

Die Lösung bestand darin, das Häkchen zu deaktivieren .  Location of Optimize Code checkbox

28
Sandra

Prüfen Sie einfach, ob sich Ihre Lösung im Freigabemodus befindet. 

20

Versuchen Sie Visual Studio als Administrator innerhalb von Windows auszuführen.

20
Andy

In meinem Fall versuche ich im Release-Modus zu debuggen. Sobald ich es in den Debug-Modus ändere. Es funktioniert

14
Adithya Sai

Sie müssen in den Compilereinstellungen "Debug-Informationen generieren" aktivieren

14
DS.

Wir haben die Ursache unseres Problems gefunden. Dieser Code verwendete das Attribut "CodeBehind" in der Direktive Page der ASPX-Datei anstelle des Attributs "CodeFile" (ASP.NET 2.0 und höher). Nach Tagen der Verzweiflung löste eine einfache Suche und Ersetzung das Problem.

10
cjo30080

Die Option "Debuggen starten, Debuggen + Windows + -Module starten" ist in der Edition von Microsoft Visual Studio Express 2013 nicht vorhanden.

Deaktivieren Sie "Verwalteten Kompatibilitätsmodus verwenden" in den Optionen für Tools. Debugging behebt dies.

10
Andrus

Ich habe alles oben genannte probiert, aber es hat nichts geklappt .[Lösung bereinigen und nach PDB-Dateien suchen usw.]

Selbst die Veröffentlichung derselben Lösung konnte das Problem nicht beheben.

Dann ging ich zurück zu dem, was ich normalerweise mache, um das Problem zu lösen (täuschte dieses störrische Visual Studio).

Alles, was ich tat, war, eine absichtliche Änderung im Code vorzunehmen und die Lösung zu veröffentlichen ..__ Dann habe ich die Änderung rückgängig gemacht und wieder veröffentlicht.

Voila [PDB-Dateien von bösen Geistern befreien] .. Keine intelligente Lösung, aber das hat funktioniert ..: - |

8
Mahesh

Zu überprüfende Dinge, nur um klar zu sein: Vergewissern Sie sich, dass die Konfiguration auf 'Debug' und nicht auf 'Release' gesetzt ist. Sie können das Startprojekt im 'Release'-Modus debuggen, jedoch keine referenzierte Klassenbibliothek.

7

Keine dieser Antworten löste mein Problem. Ich habe etwas anderes ausprobiert, weil das Projekt mit dem Stop in Wirklichkeit nicht das geladene Projekt war. Ich fand, als Hans Passant schrieb, dass die .dll, in der ich den Debugger stoppen möchte, und die zugehörigen .pdb-Dateien in der Nähe der EXE-Datei kopiert wurden. Diese Dateien hatten ein älteres Datum, daher dachte ich, dass sie zur Laufzeit nicht aktualisiert wurden. Ich löschte sie manuell, Visual Studio erstellt ein anderes Paar UND platziert dieses neue Paar in der Nähe der EXE-Datei. Jetzt funktionieren die Breakpins!

Möglicherweise kann Visual Studio vorhandene Dateien (.dll und .pdb) in der Nähe der EXE-Datei nicht kopieren und ersetzen, da sich dort eine andere befindet. Wenn ich also manuell löschte, konnte VS eine neue in der Nähe von .exe erstellen.

Ich denke, dass andere Änderungen (Überprüfungen usw. - von den anderen Antworten) etwas ausgelöst haben und Visual Studio kopiert und die DLL und PDB aus dem Projektordner in den Ordner in der Nähe der Exe ersetzt, sodass dies eine Lösung war.

Ich denke, die Hauptursache des Problems besteht darin, dass das Visual Studio zur Laufzeit eine andere Datei verwendet, nicht die Datei aus dem Projekt, mit dem Stopp.

Vielleicht hilft diese Antwort jemandem!

6
Tratak

Projekteigenschaften (wählen Sie dann Ihre Build-Konfiguration aus)> Registerkarte Erstellen> Erweitert ...> Debug-Informationen (Dropdown)

Stellen Sie 'all' oder 'pdb-only' ein und bauen Sie dann neu auf

5
Sinaesthetic

Anstatt all diese Dinge einfach zu tun 

Schließen und erneut öffnen

die Lösung wird das Problem beheben

5
kselva

Ich brauchte eine Weile, um andere Optionen auszuprobieren, und aus irgendeinem Grund funktionierte das Debuggen nicht mehr.

Werkzeug -> Optionen -> Debugging -> Allgemein -> (Auswahl aufheben) Option "Quelldateien müssen genau mit der Originalversion übereinstimmen"

5
tfa

Ich hatte ein ähnliches Problem und habe Folgendes getan: Debug => Optionen => Allgemein => Entfernen Sie das Häkchen bei "Nur meinen Code aktivieren".

4

Ich habe eine C # -Anwendung mit einer statischen Bibliothek unter Verwendung von VS10 integriert - was mir neu ist. Ich schrieb eine verwaltete Code-DLL, um sie anzuschließen. Ich könnte überall Haltepunkte setzen, außer der statischen Bibliothek. Ich habe die oben beschriebene Meldung erhalten - für dieses Dokument wurden keine Symbole geladen. Ich habe viele der oben genannten Vorschläge ausprobiert. Ich konnte sehen, dass die Symbole nicht geladen wurden. Ich bemerkte schließlich ein Kontrollkästchen Configuration Debug, Debuggen von nicht verwaltetem Code aktivieren. Das erlaubte mir, Haltepunkte in den statischen lib-Funktionen festzulegen.

4
Kary

Ich hatte auch das gleiche Problem, bei dem ich die gesamte Lösung (einschließlich referierter Projekte) in x86 (oder x64) neu aufbaue.

Obwohl ich alle meine Projekte von Configuration Manager (Build-> ConfigManager) auf x86 gesetzt habe, wurden einige meiner Projekte nicht auf x86 gesetzt.

Also, nur um sicher zu gehen, dass Sie mit der rechten Maustaste auf das Projekt klicken und folgen 

projekt -> Eigenschaften -> Registerkarte Debuggen, überprüfen Sie Konfiguration und Plattform.

4
user781700

Ich habe alle Antworten sorgfältig gelesen, aber keine davon löste mein Problem.

In meinem Fall habe ich eine Klassenbibliothek (DLL) erstellt. In Debug -> Modules scheinen keine Module geladen zu sein, so dass ich die Symbole nicht einmal manuell laden konnte.

Meine Lösung bestand darin, diese Zeile meinem Code hinzuzufügen:

System.Diagnostics.Debugger.Launch();

Sobald dieser Code erreicht ist, wird eine Ausnahmebedingung ausgelöst, und in .NET Framework wird ein Dialogfeld angezeigt, in dem Sie gefragt werden, welche Visual Studio-Instanz (z. B. neue Instanz von VS 2008, neue Instanz von VS 2013 usw.) zum Debuggen des Programms verwendet werden soll. Sie können die vorhandene Instanz von VS auswählen, während Ihr Projekt geladen ist. Dadurch wird der Prozess an Ihre VS-Sitzung angehängt und alle Symbole geladen. Jetzt können Sie Ihr Projekt debuggen.

Die Kompilierung muss natürlich mit der Debug-Konfiguration erfolgen, nicht mit Release.

4
Sam

Ich weiß, dass ich Jahre später bin, aber ich dachte, ich hätte etwas falsch gemacht und habe die obigen Schritte befolgt. Dann wurde mir bewusst, dass ich die Lösungskonfiguration versehentlich auf 'Release' gesetzt hatte.

4
Neil Walker

Überprüfen Sie für eine ASP.Net-Anwendung die Eigenschaften der Site, Registerkarte ASP.NET. Stellen Sie sicher, dass die richtige ASP.NET-Version ausgewählt ist.

3
Mark Whaling

Wenn wir die neuesten Informationen von VSTS erhalten, sind alle Dateien schreibgeschützt. Während der Ausführung des Projekts werden alle Klassenbibliotheksklassen schreibgeschützt und Bremspunkte werden leer und sagen: "Haltepunkt wird derzeit nicht getroffen. Keine Symbole für dieses Dokument geladen". 

Lösung 1

Gehen Sie zum Projektspeicherort und klicken Sie mit der rechten Maustaste auf den Ordner ---> Eigenschaften ---> Registerkarte Allgemein ---> UNCHECK schreibgeschützt (Gilt nur für Dateien im Ordner) ---> Anwenden ---> OK

Lösung 2

Starten Sie das Debuggen, gehen Sie zu Debuggen ---> Windows ---> Module. Wählen Sie eine Baugruppe aus und klicken Sie mit der rechten Maustaste auf ---> (Auswahl) Symboleinstellung. Legen Sie in diesem Verzeichnis Ihren Bin-Pfad unter Cache-Symbol fest und wählen Sie Microsoft Server unter Symbol of PDB location. Klicken Sie auf Alle Symbole laden. Es wird einige Zeit dauern. Klicken Sie dann auf OK.

Jetzt wurde der Symbolstatus aller Assemblys von "Kann PDB nicht finden oder öffnen" in "Symbol geladen" geändert.

2
Bala Kumar

Klicken Sie mit der rechten Maustaste auf Projekt -> Eigenschaften -> Gehe zu Erstellen Tab -> Deaktivieren Sie Code optimieren . Tun Sie dies für jedes Projekt in Ihrer Lösung

2
Jamal Kaksouri

dies geschah nach dem Kopieren einer anderen Webservice-ASMX-Datei in einen vorhandenen Webservice, was zu demselben Fehler führte, als versucht wurde, den kürzlich hinzugefügten Dienst zu debuggen. Um Debuggen ausführen zu können, musste ich ohne Debuggen starten und dann an den Prozess anhängen. Es ist seltsam, aber es ist die einzige Möglichkeit, die ich debuggen konnte.

2
montelof

Überprüfen Sie, ob die folgenden beiden Einstellungen in Visual Studio identisch sind:

Klicken Sie mit der rechten Maustaste auf das Testprojekt, gehen Sie zu Eigenschaften, Registerkarte Erstellen und sehen Sie sich das Plattformziel an .

Meins sind alle auf "Any CPU" gesetzt, also x64

Wechseln Sie in der Hauptmenüleiste zu Test, Test Settings, Default Processor Architecture

Meins war auf X86 eingestellt

enter image description here

Wenn Sie dies auf X64 ändern, um der obigen Einstellung zu entsprechen, funktioniert das in Visual Studio integrierte Menü "Debug Test (s)" und trifft Haltepunkte, die zuvor mit dem ignoriert wurden Meldung „Der Haltepunkt wird derzeit nicht erreicht. Für dieses Dokument wurden keine Symbole geladen.

2
Mike

Ich habe alle ausprobiert und konnte meine Bruchstelle nicht zum Laufen bringen ...

Was ich getan habe, um dieses Problem zu beheben, war

Auf der Seite, auf der mein Haltepunkt nicht traf, habe ich den Ordner ausgewählt> ein vorhandenes Element hinzufügen und dann die Seite aus dem Speicherpfad auswählen. Dadurch konnte der Haltepunkt arbeiten.

2
Pomster

Wenn Sie ein C++-Projekt oder eine dll aus einem C#- oder einem anderen .Net-Projekt verwenden und in den nativen Code debuggen möchten. Gehen Sie dann zu .Net Project Properties -> Debug -> Enable native code debugging (setzen Sie es auf true).

1
peter bence

Überprüfen Sie Ihre Solution Configuration Dropdown-Liste. Stellen Sie sicher, dass Sie Debug und nicht Release auswählen.

1
zs2020

Für mich bestand das Problem nur darin, dass ich versuchte, in einem Webprojekt zu debuggen, das nicht als Startup-Projekt festgelegt war .. Daher war es beim Debuggen nicht gut kompiliert und die .pdb war nicht auf dem neuesten Stand.

Nur das Projekt auf "Als Startprojekt einrichten" einzustellen, hat den Trick geleistet.

Hoffe das hilft

1

Beim Versuch, ein Excel-Add-In in VS 2013 zu debuggen, nachdem ich alle Debug-Einstellungen durch Deaktivieren der DotNet Framework-Quellensteppung und Deaktivieren des Symbolladens versucht hatte, war , was schließlich für mich funktionierte, die Konfigurationseinstellung in Release statt Debug geändert Der Compiler schien den Code zu überschreiten und die Haltepunkte wurden schließlich getroffen.

1
Kamran Hyder

Meine persönliche Situation war, dass das Debugging in Visual Studio 2013 funktionierte, wo es ursprünglich erstellt wurde, 2015 jedoch nicht funktionierte Version 10.

1
done_merson

Ich möchte noch eine weitere Sache hinzufügen, die das Treten/Brechen verhindern kann, indem die .pdb-Datei nicht geladen wird, nachdem dies in keinem anderen Forum gefunden wurde: wenn Sie einen Build-Post-Prozess hinzufügen, um der DLL (Firmenname, Versionsnummer usw.), wie in "rc.exe my_dll.rc". Dies kann zu einer falschen Übereinstimmung zwischen DLL und der .pdb-Datei führen. Wenn die Signaturen nicht übereinstimmen, werden die Datei und alle Symbole, die Sie zum Debuggen benötigen, nicht geladen. Entfernen Sie dies aus dem Debug-Build.

1
Tom Gordon

[WINCE] Ich bin während des Builds auf WinCE darauf gestoßen, es schien, dass der Zielordner auf dem Gerät nicht bereinigt wurde. Ich habe den Debug/Break-Back durch Ändern des Ausgabeordners auf Devices erhalten (Projekteigenschaften -> Registerkarte Geräte -> Ausgabeordner in einen anderen als den vorherigen fehlgeschlagenen Debugging ändern) - und voila !! es funktioniert . Möglicherweise muss das Gerät manuell bereinigt werden, dies wird jedoch später geschehen.

Ich hoffe das hilft.

1
WindyHen

In meinem Fall, in der AssemblyInfo.cs-Datei, befand sich die folgende Zeile, die ich kommentierte und alles stimmte:

[Assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
1
Hessam J.E

Ich ging alle Antworten durch, nichts half viel. In meinem Fall Problem mit web.config file . Es war <compilation debug="false" strict="true" 

Ich wechselte zu

<compilation debug="true" strict="false". Jetzt kann ich die Anwendung debuggen.

1
Chandu

In meinem Fall habe ich eine WPF-Erweiterung mit der experimentellen Instanz von Visual Studio debuggt. Nachdem ich mit dem Debuggen begonnen und dann den Dubugger angehalten hatte, öffnete ich das Debug > Windows > Modules-Fenster. Dort konnte ich das Verzeichnis sehen, in das Visual Studio die Symbole C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\15.0_76a9e536Exp\Extensions\<companyName> laden wollte. Nach dem Beenden des Debuggens habe ich den Zielordner mit Windows Explorer gelöscht und den Debugger neu gestartet. Visual Studio konnte dann den Haltepunkt erreichen.

1
Paul Schroeder

Am Ende habe ich mein Problem auf ein offensichtliches Inkompatibilitätsproblem bei der Verwendung von mehreren PostSharp-Versionen zurückgeführt. Die App, die ich debuggen wollte, hatte eine frühere Version von PostSharp, bezog sich jedoch auf ein Projekt, das eine neuere Version verwendete. Aus irgendeinem Grund führte dies dazu, dass VS die PDB-Datei für insbesondere dieser App nicht generierte (alle anderen DLLs wurden mit ihren Debug-Symbolen geladen).

Die Lösung bestand darin, PostSharp in jedem Projekt auf die neueste Version zu aktualisieren und neu zu kompilieren.

1
DamienMann

Ich bekam dies und war überlistet (mit Visual Studio 2013 Premium).

Normalerweise verweisen unsere Apps at work auf .dlls in einem bestimmten Common/App-Verzeichnis, beispielsweise C:\OurCompanyApps\xxxxxx.dll. Dies geschah in einer Lösung, die eine Reihe von WinForm- und .dll-Projekten enthält. Die DLL-Projekte werden nach C:\OurCompanyApps\kompiliert, und die WinForm-Projekte verweisen auf die kompilierten DLL-Dateien an diesem Speicherort.

Das Problem: Ich habe festgestellt, dass die fragliche App auf das DLL-Projekt in der Quellcodeverwaltungs-Bin\Debug-Position statt auf die kompilierte DLL-Datei in C:\OurCompanyApps verwies.

Lösung: Ich habe die Referenz gelöscht und von C:\OurCompanyApps\aus wieder hinzugefügt. Dann konnte ich die Haltepunkte schrittweise durchlaufen, die ich im DLL-Code hinzugefügt hatte.

Hoffe das hilft jemandem.

1
clamum

In meinem Fall war dies darauf zurückzuführen, dass mein Veröffentlichungsprofil (In lokaler Site veröffentlichen IIS Site) irgendwie auf Release Configuration gesetzt war, obwohl die globale Build-Konfiguration auf Debug eingestellt war. Das Veröffentlichungsprofil wurde in Debug-Konfiguration geändert und das Problem wurde für mich behoben.

1
george.himself

Wenn Sie feststellen, dass Sie Projekte in Ihrer Lösung einzeln in einer bestimmten Reihenfolge erstellen müssen, um die Lösung zu erstellen, weil das Erstellen der Lösung direkt nach einem Bereinigen nicht funktioniert, und Sie das in der Frage beschriebene Problem finden, Dies ist möglicherweise darauf zurückzuführen, dass einige zusätzliche Projekte aufgenommen wurden, die Verweise auf falsche relative Pfade enthalten, da sie von einem anderen Ort aus zu Ihrer Lösung hinzugefügt wurden. Daher beziehen sich die relativen Pfade nicht an den gleichen Ort wie die .csproj-Dateien, die sich in Ordnern direkt unter Ihrer .sln-Datei befinden.

Der Grund für die Erstellung der einzelnen Projekte in einer bestimmten Reihenfolge liegt darin, dass die anderen Projekte auf die gleichen Bibliotheken verweisen, dann aber in die GAC aufgenommen werden. Die Lösung wird am Ende erstellt, aber die geladenen Symbole stammen aus dem GAC, und diese Symbole können veraltet sein.

Die Lösung besteht sozusagen darin, die physische Ordnerstruktur Ihrer Lösung und Projekte umzustrukturieren oder die .csproj-Dateien einzeln zu öffnen und die relativen Pfade so zu korrigieren, dass alle Verweise auf eine Bibliothek letztlich in allen Projekten auf denselben Speicherort zeigen. Oder verwenden Sie vielleicht das Token $(SolutionDir).

Wenn alles andere immer noch fehlschlägt, müssen Sie Visual Studio dazu zwingen, Ihre Build-Konfiguration zurückzusetzen. Dazu müssen Sie alle Projekte für alle Build-Konfigurationen deaktivieren und dann alle noch einmal überprüfen - siehe Lösung hier .

1
Neo

Stellen Sie sicher, dass Ihr Code nicht zur Linkzeit ausgeworfen wird. Obwohl der Compiler ein Objekt möglicherweise neu erstellt, wird der Linker, wenn er keinen Verweis auf den Code findet, ihn aus dem System werfen und diesen Fehler verursachen, wenn er versucht, einen Haltepunkt festzulegen.

1
Nathan Kidd

Ich hatte das gleiche Problem und habe alles Mögliche versucht ... einige davon

1) Nuking temporäre Dateien in temporären ASP.NET-Ordnern in Ordnern bin und obj.

2) Deaktivieren Sie den Optimize-Code und aktivieren Sie meinen Code

3) Navigieren Sie und versuchen Sie, die Symbole manuell aus den Modulfenstern zu laden.

4) Überprüfen des Build-Flags in den Eigenschaften der Lösung .........

Und die Liste geht weiter ... ich verbrachte einen Tag damit, aber letztendlich funktionierte für mich tatsächlich ....... Ich wusste, dass die Symbole für mein Projekt nicht geladen wurden und ich keine Module mit meinem Projekt sehen konnte Name im Modulfenster entweder ...

das Problem war also, dass meine Symbole aus dem virtuellen Verzeichnispfad des Projekts abgerufen wurden ... und es wurde stattdessen dem virtuellen Verzeichnis eines anderen Projekts zugeordnet. Das Webprojekt, das in die Module geladen werden sollte, war nicht vorhanden Im Folgenden sind die Schritte, die ich befolgt habe.

  • Klicken Sie mit der rechten Maustaste auf das jeweilige Webprojekt, und wählen Sie Eigenschaften aus.
  • Gehe zum Web Tab
  • Sie sehen die Schaltfläche Virtuelles Verzeichnis erstellen.
  • Sobald ich darauf geklickt habe, sah ich eine Warnmeldung, die besagt, dass "(Projektname) (anderer Projektname) zugeordnet ist". Sind Sie sicher, dass Sie das Remapping durchführen möchten? Etwas wie diese
  • dann machte es Sinn, warum ich den unnötigen Projektnamen im Modulfenster sah
  • dann baute ich die Lösung neu auf und konnte den Haltepunkt erreichen
1
user1505521

In meiner Situation lädt das Visual Studio die DLLs in Global Assembly Cache (GAC) , nicht unter DLL in meiner Projektliste. Ich habe die DLLs in GAC gelöscht und jetzt kann ich sehen, wie der Haltepunkt funktioniert.

0
Tuyen Nguyen

In meinem Fall geschah dies nach einem Windows Update. Das Windows Update hat Internet Information Services deaktiviert, was den Anschein hatte, dass meine API den von mir festgelegten Haltepunkt nicht erreichen konnte, was aber tatsächlich der Fall war Es passierte, dass IIS nicht gestartet wurde und daher mein Anwendungscode nicht wirklich lief. 

Vergewissern Sie sich, dass die Internetinformationsdienste im Menü Windows-Funktionen aktiviert sind. 

Anweisungen für IIS: 

  • schalttafel
  • Programme
  • fensterfunktionen öffnen oder schließen
  • internet-Informationsdienste ankreuzen
  • visual Studio neu starten

Bei Verwendung von IIS Express:

Öffnen Sie 'Programme hinzufügen/entfernen' in der alten Systemsteuerung und führen Sie eine Reparatur in IIS Express aus. Sie können auch Systemsteuerung - >> Programme - >> Programme und Funktionen - >> Windows-Funktionen ein- oder ausschalten -> wählen > Internetinformationsdienste, und überprüfen Sie den übergeordneten Ordner Internetinformationsdienste. 

Ich habe diese Antwort hier erhalten: Angegebenes Argument befand sich außerhalb der gültigen Werte. Parametername: site

0
Josh Siegl

Ich hatte dieses Problem.

Mein Problem war, dass die Dateien aspx, aspx.vb und aspx.designer.vb falsch importiert wurden (möglicherweise wurden sie einzeln in das Projekt importiert).

Der Haltepunkt befand sich in der Datei aspx.vb, war jedoch nicht erreichbar und hatte die Warnung vor dieser Frage.

Die Lösung bestand darin, die drei Dateien zu löschen und erneut zu importieren. Jetzt kann ich den Haltepunkt erreichen.

0
LuisEduardoSP

Ich habe die Sache sauber gemacht und neu aufgebaut. Das hat nicht funktioniert (tut es normalerweise) ..__ Nun stelle ich mich vor dem Aufruf des Dienstes an w3wp an, lasse den Dienst dann einmal aufrufen, einen anderen Haltepunkt anwählen und dann den Ausführungspunkt ändern, so dass dies der Fall ist Führen Sie dieselbe Zeile erneut aus (Aufruf des Dienstes), dann stoppt sie tatsächlich an meinem Haltepunkt innerhalb der Dienstmethode.

0
Gary

Ich habe IE8 verwendet und versucht, einige JavaScript-Dateien zu ändern. Obwohl der Code ausgeführt wurde, hielt er nicht an den Haltepunkten an und ich erhielt dieselbe Meldung zu den Haltepunkten. Ein Upgrade auf IE11 hat das Problem für mich behoben.

0
Brad Germain

Hauptprojekt hat sowohl Projektreferenz als auch Dateireferenz für dasselbe Projekt.  

In meinem Fall hatte das Hauptprojekt zwei Referenzen, eine war eine Projektreferenz und eine andere Dateireferenz auf die von demselben Projekt generierte DLL.

Daher wurde die pdb-Datei nicht in den bin-Ordner des Hauptprojekts kopiert, was zu einer Nichtverfügbarkeit der Symbole führte.

0
Abhijeet Nagre

Hatte das Problem beim Debuggen einer Silverlight-Anwendung in einem Sharepoint-Projekt. Auf der Registerkarte Sharepoint der Projekteigenschaften müssen Sie das Debuggen für Silverlight-Anwendungen explizit aktivieren. Sonst bekommst du diesen Fehler.

0
dgorissen

Es gibt viele Antworten mit vielen verschiedenen Lösungen, um dieses Problem zu beheben.

Eine andere Lösung besteht darin, sicherzustellen, dass Ihr Code erreichbar ist. Zum Beispiel:

Jeder Code, der nach einem Return in einer Funktion hinzugefügt wird ..__ Hinzufügen eines GOTO, das effektiv den Code mit dem Haltepunkt überspringt.

Ich sage nicht, dass dies normal ist, sondern auch Ursachen.

0
Nathan

In Visual Studio 2017 15.3.1 bis 15.3.5 ist ein neuer Weg zu diesem Problem aufgetaucht. Wenn Sie EditorConfig verwenden, verursacht die Option charset = utf8 diese Symptome. Das VS-Team hat dies reproduziert und sagt, dass sie daran arbeiten .

Eine Lösung besteht darin, die Zeile charset = utf8 in der Datei .editorconfig auszukommentieren.

Der Status ist jetzt "Feststehend - ausstehende Veröffentlichung" ab dem 9. Oktober 2017.

(Dank an John Hatton, "Der Haltepunkt wird derzeit nicht erreicht. Der Quellcode unterscheidet sich von der Originalversion." Was bedeutet das?

0
JohnT

Auf diese Weise können Sie auch die F11 in der Nähe von, ohne vorherige Ankündigung oder ohne vorherige Ankündigung oder ohne Probleme mit der Frage, ob es sich um einen Überbrückungspunkt handelt, oder einen Haltepunkt für das Recuperado geben.

In meinem Fall gab ich im Methodenaufruf eine F11 an und zwang mich, die Methode einzugeben, in der sich das Problem BP befand, sodass der Haltepunkt wiederhergestellt wurde.

0
Melqui Franco

Eine weitere Lösung für mich bestand darin, das Projekt nachzubauen, das nicht in den Ordner "Bin" des Hauptprojekts aufbrechen konnte.

0
Josh

Beim Debuggen einer Assembly durch Starten einer externen Anwendung gibt es einige zusätzliche Überlegungen:

  • Die externe App lädt möglicherweise ihre eigenen Kopien von Assemblys (DLLs) aus einer Manifestdatei. (z. B. Datei appname.exe.manifest) Wenn dies der Fall ist, müssen Sie dies möglicherweise deaktivieren, indem Sie das Manifest manuell ändern.

  • Die externe App versucht möglicherweise nur, DLLs aus ihrem eigenen Ordner zu laden, auch ohne ein Manifest. Sie müssen diese entfernen/umbenennen.

Wenn diese Schritte beachtet werden, sollte die Version der Assembly, die im Debugger ausgeführt wird, korrekt geladen werden und kann normal debuggt werden.

0
DaveInCaz

Nachdem ich ein paar davon ausprobiert hatte, funktionierte für mich letztendlich Folgendes:

Deaktivieren Sie in Debug > Options > General das Kontrollkästchen Enable Edit and Continue.

0
melicent

Mein Grund war Telerik OpenAccess ORM nicht mehr. Installierte neue Version dann funktioniert es. Muss heruntergeladen und installiert werden. Nur die Aktualisierung von NuGet funktionierte nicht. jemand anderes hat es auch erwähnt

0
Kevin .NET

Hatte auch dieses Problem mit einem Qt .pro generierten Projekt. Es stellte sich heraus, dass ich vergessen habe, eine Umgebungsvariable festzulegen, die die Eigenschaften/Allgemein/Ausgabeverzeichnis bestimmt. Triviales, und eines, das man zuerst anschauen sollte, aber manchmal vermisst man das Offensichtliche.

0
charlie

Es ist auch erwähnenswert, dass das Problem in einigen Situationen auftritt, weil das Projekt, das Sie debuggen möchten, ein externer Dienst ist. In diesem Fall müssen Sie den Debugger an den laufenden Prozess anhängen.

0
DiSaSteR

Keine der Ideen hier funktionierte für mich, aber ich danke allen für ihre Bemühungen. In meinem Fall war es eine Windows-Anwendung, die auf ein Klassenbibliothekprojekt verwies. Ich konnte die Windows-Anwendung debuggen, aber nicht die Klassenbibliothek. Die PDB-Dateien wurden generiert. Ich stellte jedoch fest, dass ich, wenn ich beim Aufruf der Klassenbibliothek debuggen würde, die Bibliothek betreten könnte.

0
mattpm

Manchmal hält IIS aus irgendeinem Grund an Dateien. Ich musste die Website löschen und neu erstellen, und das Problem ging weg

Vielleicht hätten Sie keine AutoPostBack..__ machen sollen.
Wenn Ihr Code kein PostBack erstellt, können Sie diesen Fehler erhalten.
Grüße.

0
HQtunes.com

Project> Eigenschaften> C++> General> Debug-Informationsformat - Programmdatenbank (/ Zi)

Ich hatte Linker> Debugging überprüft und erzeugte bereits Debug-Informationen. Beim Starten der Anwendung wurden Symbole geladen (Debug> Windows> Module). Das Einstellen des Debug-Informationsformats hat es für mich behoben. Hoffe das hilft jemandem!

0
RomanRobot

In meinem Fall hat keine dieser Lösungen funktioniert. Ich musste gehen 

Extras -> Importieren und Exportieren von Einstellungen -> Alle Einstellungen zurücksetzen.

und dann funktionierte das Debuggen ohne Probleme.

0
nPcomp

Ich hatte das gleiche Problem, überprüfte alle vorherigen Lösungen, funktionierte aber nicht für mich. Einfache, aber hinzugefügte Antwort, nur um sicherzustellen, dass die Leute nicht an diesem nicht existierenden Problem hängen bleiben, wie ich es tat.

Was für mich funktionierte, war, dass ich VS 2013 im Admin-Modus und im normalen Modus ausgeführt habe. Ich habe es mehrmals versucht, in den Normal- und Admin-Modus zu wechseln, und es funktioniert durchweg einwandfrei.

IDE: VS 2013 Professional
Version: 12.0.40629.00 Update 5
0
brykneval

Mir ist klar, dass dies ein alter Faden ist, aber zum Wohle anderer ist das, was mir passiert ist. Das Problem bestand darin, wie ich das Designer-Attribut angewendet habe. Ich habe eine Designerklasse erstellt. Der Designer überschreibt PrefilterProperties, um die Eigenschaften Anchor, AutoScroll und AutoSize schreibgeschützt zu machen.

[System.Security.Permissions.PermissionSet(System.Security.Permissions.SecurityAction.Demand, Name="FullTrust")]
public class j2aScrollableContainerDesigner : ParentControlDesigner

Ich habe eine Klasse erstellt und meinen Designer hinzugefügt. Dies ist die Standardmethode, um ein Designer-Attribut an eine Klasse anzuhängen. Sie ist in vielen MSDN-Beispielen zu finden. Der Designer wurde offensichtlich nicht verwendet, da bei der Platzierung meines Steuerelements auf einer Formulardesignoberfläche keine der oben genannten Eigenschaften nur im Eigenschaftenraster gelesen wurde.

[Designer(typeof(j2aScrollableContainerDesigner), typeof(ParentControlDesigner))]
public partial class j2aScrollableContainer : UserControl

Aus Verzweiflung habe ich die Designer-Attributdeklaration meiner Klasse in die folgende Signatur geändert, und der Designer wurde jetzt aufgerufen. Ich habe keine Erklärung, warum der eine Weg funktioniert und der andere nicht. Wenn ich zur obigen Designer-Attributdeklaration zurückkehre, wird der Designer die Arbeit wieder beenden.

[Designer(typeof(j2aScrollableContainerDesigner))]
public partial class j2aScrollableContainer : UserControl
0
j2associates

Verwenden von Dependency Injection, Autofac in meinem Fall zur automatischen Auflösung durch Scannen von Baugruppen. Eine der referenzierten Assemblys wurde nicht aufgelöst.

Mein Fix bestand darin, direkt auf eine Klasse aus der Assembly zu verweisen, damit Visual Studio die Assembly laden muss. Wenn Sie nur die Assembly als Referenz verwenden, wird die Assembly nicht geladen, wenn die Anwendung ausgeführt wird.

0
wonster

Überprüfen Sie, ob Sie "Nur meinen Code aktivieren" aktiviert haben. Wenn ja, deaktivieren Sie es.

0
CiriousJoker

Ich hatte die Projektdatei aus Versehen in einem Texteditor geöffnet und entladen. Ungewöhnlich, aber überprüfen Sie es, wenn Sie nicht weiterkommen.

0
Edza

Dies ist mir beim Start einer ASP.NET-Website im Jahr 2013 passiert. Es scheint, dass es in meinem Fall wegfällt, wenn der Webbrowser vollständig gestartet wird.

0
Curtis White

Eine weitere Lösung für einige Fälle, in denen dieser Fehler auftritt: Überprüfen Sie Ihre Build-Aktion

Ich hatte dieses Problem in einem asp.net MVC3-Projekt. Einer meiner Controller hatte aus unbekannten Gründen die Build-Aktion auf EntityDeploy gesetzt, obwohl es eigentlich Compile hätte sein sollen.

0
Nenotlep

Meines fehlte hauptsächlich, weil ich zwei Projekte unter derselben IISExpress-URL geparkt hatte. Stellen Sie sicher, dass Sie einen anderen Port angeben und CreateVirtualDirectory drücken.

0
Cristian E.

Bei diesem Problem habe ich versucht, den Hintergrundagenten einer WP7-App zu debuggen. Wie sich herausstellte, war dieses Debugging-Problem nur ein Symptom des eigentlichen Problems: Mein Hintergrundagent wurde überhaupt nicht im Debug-Modus ausgeführt. Ich hatte die folgende Anleitung zum Implementieren eines Hintergrundagenten befolgt: http://msdn.Microsoft.com/en-us/library/hh202941(v=vs.92).aspx

... aber vergessen, hinzuzufügen

#define DEBUG_AGENT

was bedeutet, dass mein Agent nie im Debugging-Modus gestartet wurde. Nachdem diese Zeile hinzugefügt wurde, ist das Problem, mit dem sich dieser Thread befasst, beseitigt.

0
Anders

Debuggen von ->Options -> Allgemein -> Deaktivieren Sie das Kontrollkästchen für "Enable Just My Code".

Das hat bei mir funktioniert.

0

Noch ein Tipp, der für mich funktioniert hat. 

Wenn Ihr Projekt/Ihre Bibliothek signiert ist und nicht einmal eine Verzögerung signiert ist, kann es trotzdem nicht debuggbar sein. Deaktivieren Sie die Signaturoption, debuggen Sie sie und stellen Sie die Signaturoption wieder her. 

0
Vadim Berman

Die folgenden Schritte waren für mich gegabelt:

  1. Wechseln Sie in den Ordner "bin" Ihres Projekts.
  2. Löschen Sie den Ordner "Debug".
  3. Erstellen Sie Ihr Projekt erneut.
  4. Der Debug-Ordner wird neu erstellt.

Jetzt können Sie erneut mit dem Debuggen beginnen.

0
Karthik

Für mich: 

  • Lösungseigenschaften öffnen
  • Wählen Sie "Allgemeine Eigenschaften"/"Debug-Quelldateien" aus.
  • Entfernen Sie im Fenster "Nicht nach diesen Quelldateien suchen" die Dateien, die höchstwahrscheinlich irrtümlich vorhanden sind.
0
Hot Licks

Ich hatte einen Haltepunkt festgelegt und diese Meldung wurde bei der Ausführung des Codes an diesem Haltepunkt angezeigt. Der Haltepunkt war jedoch nur für einen Komponententest zugänglich. Ich musste den Unit-Test mit der rechten Maustaste anklicken und "Debug-Unit-Tests" auswählen. Doh!

0
Brian Leeming

Will dies hier in der Hoffnung setzen, dass es jemandem hilft.

Ich hatte das Problem der fehlenden Symbole in Bezug auf einen Webservice.

Die daft-Lösung bestand darin, dass das Setup-Projekt beim Erstellen der Lösung nicht auf Build festgelegt war. Dies bedeutete, dass ich mit der rechten Maustaste auf das Setup-Projekt geklickt und den Dienst installiert und an den Prozess angehängt habe. Der gleiche veraltete Dienst wurde ohne pdb installiert, da er nicht übereinstimmte = keine funktionierenden Haltepunkte.

Die manuelle Lösung bestand darin, mit der rechten Maustaste auf das Setup-Projekt zu klicken und es zu erstellen und anschließend zu installieren. Ich habe dann die Liste der Lösungsprojekterstellung so geändert, dass sie das Setup-Projekt enthält, wenn die Lösung im Debug-Modus erstellt wird.

0
Paul Zahra

Wenn Sie über C # und nativen Code (C/C++) verfügen, stellen Sie sicher, dass das native Debugging für das Projekt aktiviert ist:
1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Ihr Startprojekt
2. Wählen Sie Eigenschaften aus
3. Wählen Sie die Registerkarte "Debug"
4. Stellen Sie sicher, dass das Debuggen von Native Code aktiviert ist  "Enable native code debugging" must be checked in order to be able to debug your native code

0
M.Paunov

Ich denke, die Quelle, wenn dieser Fehler ist, haben die Debug-Symbole eine harte Zeit, um die Lösung nach dem Erstellen für die Veröffentlichung zu finden.

Ich habe alle anderen Antworten ausprobiert - generell .pdb-Symbole neu generieren oder deren Position überprüfen, Projekt bereinigen und neu erstellen, sicherstellen, dass die aktive Konfiguration nicht freigegeben ist usw.

Was schließlich für mich funktioniert hat, ist das Klicken mit der rechten Maustaste auf das Projekt in der Projektmappe Explorer> Debug> Neue Instanz starten.

0
I Want Answers

Für meine Xamarin-Anwendung wurde endlich mit dem Debuggen begonnen, nachdem ich den Quellcodeverwaltungsordner vollständig gelöscht hatte, "Get Latest" gelesen und die Lösung neu erstellt hatte. 

Mein Kollege hatte dieses Problem und folgte ähnlichen Schritten wie hier, aber die Lösung war anders als die hier angegebenen.

Der Code, den sie debuggen wollte, befand sich in einem Projekt, auf das das aktuelle Projekt verweist, und es wurde nie in der Visual Studio-Sitzung ausgeführt. Die DLL wurde aus dem GAC-Ordner ausgeführt, nachdem sie gelöscht hatte, dass das Projekt überhaupt nicht ausgeführt wurde, und eine Ausnahme ausgelöst wurde, sobald versucht wurde, sie auszuführen. Die Lösung bestand darin, das referenzierte Projekt in den lokalen Ordner aufzunehmen.

Vom SolutionExplorer:

  1. Wählen Sie das "Debugging" -Projekt aus, dem Sie ausgehen
  2. Erweitern Sie Referenzen (falls nicht sichtbar, wählen Sie Menü Projekt , Element Alle Dateien anzeigen )
  3. Klicken Sie mit der rechten Maustaste auf das Projekt, dessen Haltepunkt nicht funktioniert. Wählen Sie Properties
  4. Ändern Sie den Wert von Copy Local from False nach True

Versuchen Sie es nochmal. (Es hat für sie gearbeitet!)

0
Abacus

Dies kann durch ein Testprojekt, ein Webprojekt oder ein anderes Ausführungsprojekt verursacht werden, das eine Nuget-Referenz auf ein Projekt mit demselben Namen wie das zu ladende Modul hat.

Nehmen Sie die folgenden Beispielprojekte in einer Lösung:

  • Vendor.ABC
  • MyLib (verweist auf Vendor.ABC)
  • MyProg (Konsolenprogramm: referenziert nur MyLib)
  • MyProg.Web (MVC-Projekt: referenziert MyLib und Lösungsprojekt Vendor.ABC)
  • MyLib.Test (Testprojekt: Referenzen MyLib und Nuget-Paket Vendor.ABC)

MyProg und MyProg.Web laden beide die Debug-Symbole. .MyLib.Test lädt keine Debug-Symbole.

0
Joshcodes