Ich möchte Debug-Symbole verwenden, erhalte jedoch die folgende Fehlermeldung:
In diesem Ordner wurde keine passende Symboldatei gefunden
Was ist dieses Problem und wie kann es gelöst werden?
Ich möchte Debug-Symbole verwenden, erhalte jedoch die folgende Fehlermeldung:
In diesem Ordner wurde keine passende Symboldatei gefunden
Was ist dieses Problem und wie kann es gelöst werden?
Antworten:
Eines der Dinge, auf die ich gestoßen bin, war, dass das Debugging für das Projekt deaktiviert war, auf das verwiesen wird, wo sich der Code befindet. In meinem Fall habe ich eine neue Konfiguration mit dem Namen "Developer" erstellt und das Debugging standardmäßig deaktiviert.
pdb
Datei auswähle, erhalte ich diesen berüchtigten Fehler.
Ich hatte das gleiche Problem wie @DmainEvent. Anscheinend war die von mir verwendete DLL nicht dieselbe Version wie die gerade kompilierte PDF-Datei, daher wurde die Fehlermeldung angezeigt.
Wenn Sie dieses Problem haben, versuchen Sie, die DLL und die PDF-Datei aus demselben Kompilierungslauf zu verwenden.
Ich bin auf dieses Problem gestoßen und die Antwort war einfach.
Visual Studio verfügt über zwei Einstellungen auf Projektebene, mit denen PDF-Dateien erstellt werden können.
Sie möchten die Nummer 1 für das Debuggen. Vergiss # 2. Geben Sie Datei 2 einen anderen Namen als Datei 1, um diesen Fehler zu beheben.
Ich weiß nicht, warum Microsoft # 2 als PDF-Datei angibt. Das ist nur verwirrend.
Ich habe versucht , alle möglichen Lösungen, schließlich arbeitete es , wenn ich die Option deaktiviert Enable native code debugging
unter dem Debugger engines
von Properties > Debug
.
Der Fehler, den ich erhielt, war "Eine passende Symboldatei wurde in diesem Ordner nicht gefunden" im Fenster "Debug => Module", selbst nachdem sowohl die DLL als auch die PDB verfügbar waren und zusammen erstellt wurden, sodass ich nicht in die von mir referenzierte Ziel-DLL debuggen konnte Hauptprojekt.
Wenn Sie dies hier posten, falls es jemandem hilft, mit "Mixed Platform" für die Ziel-DLL zu surfen. Ich habe zwei Dinge getan, um darüber hinwegzukommen:
Deaktivieren Sie in der Lösung mit der Ziel-DLL "Nur mein Code" unter Extras => Optionen => Debuggen => Allgemein => Nur meinen Code aktivieren (JMC).
Aktivieren Sie in den entsprechenden Projekteigenschaften => Debuggen "Native Code-Debugging aktivieren" in der Ziel-DLL-Lösung.
Ohne weitere Details zu Ihrer Arbeit ist es schwierig, darüber hinauszugehen. "Der Debugger sucht nach einer Symboldatei, die dem kompilierten Code entspricht, und konnte keine in dem Ordner finden, in dem sich der kompilierte Code befindet."
Einige Dinge, über die man nachdenken sollte:
Überlegen Sie, ob Sie Ihre Frage klären möchten, wenn Sie eine bessere Antwort wünschen. Besonders was meinst du mit "Ich möchte Symbole verwenden".
Nun, die Lösung hängt von Ihrem spezifischen Problem ab. Ich habe alles versucht, was auf Stackoverflow und anderen Websites zu finden ist. Einer der Themen, denen ich gefolgt bin, ist dieser . Das hat auch nicht geholfen. Das Problem wurde sofort behoben, als ich bemerkte, dass mein ausführbares Projekt keinen Verweis auf die Bibliothek enthielt, die ich debuggen wollte. Also habe ich gerade den Verweis auf dieses Projekt hinzugefügt.
** PS: ** Dieses Problem kann auch auftreten, weil die Assembly, auf die die ausführbare Assembly verweist, möglicherweise nicht mit der in den Referenzen übereinstimmt. In diesem Fall entfernen Sie einfach die bereits vorhandene Referenz und fügen die neue hinzu.
Hoffe das hilft!
Ich habe meine Debug-Symbole korrigiert und sie mit diesem Tool zur Übereinstimmung gezwungen:
Mein Problem war also, dass ich versuchte, mein Projekt zu debuggen, und der Debugger konnte nicht auf die internen Nugets-Quellen zugreifen. Ich hatte die Quelldateien des Nuget-Projekts. Trotzdem akzeptierte das Visual Studio die PDF-Dateien, denen ich sie zeigen wollte, nicht. Zeigt genau den gleichen Fehler an:
In diesem Ordner wurde keine passende Symboldatei gefunden
Also habe ich dies der .proj-Datei des Nugets-Projekts hinzugefügt:
<DebugType>full</DebugType>
Und erstellte die DLL- und PDF-Datei erneut mit der Option zum erneuten Erstellen. In der Kommandozeile lief ich:
.\ChkMatch.exe -m name_of_your.dll name_of_your.pdb
Es sagte dies:
Schreiben in die Debug-Informationsdatei ... Ergebnis: Erfolgreich.
Großer Erfolg! Als nächstes verwies ich diese DLL stattdessen auf das Projekt, das ich zu debuggen versuchte. Ich habe gearbeitet, als ich versucht habe, das Symbol erneut zu laden.
Ich hoffe es hilft.
Bei BizTalk- (und anderen) Projekten kann dies daran liegen, dass bereits im GAC eine Version der Assembly vorhanden ist, die Sie debuggen möchten. Wenn Sie einen Komponententest ausführen oder zum Debuggen F5 drücken, wird lokal eine neue Version kompiliert. Die Version im GAC wird jedoch verwendet, und der neu erstellte PDB stimmt nicht mit der DLL im GAC überein.
Eine Möglichkeit, dies zu umgehen, besteht darin, die Auswahl eines Builds für alles außer Ihrem Komponententestprojekt mithilfe des Konfigurationsmanagers aufzuheben, wie unten gezeigt:
Das gleiche passiert mir, weil die .pdb-Datei des Projekts nicht in den debug\Bin
Ordner kopiert wurde , sodass die Symbole nicht aus der .pdb-Datei geladen werden konnten.
Sie müssen Ihr Projekt neu erstellen und die Symbole (PDF-Datei) manuell in den debug\Bin
Ordner des ausführbaren Projekts kopieren .
Ich habe versucht, Symbole für ein installiertes Nuget-Paket zu laden, das auf unserem lokalen Dev-Server veröffentlicht wurde. Ich musste stattdessen eine normale Referenz deinstallieren und hinzufügen, die aus dem Code erstellt wurde. Das hat bei mir funktioniert. Denken Sie daran, das ursprüngliche Nuget-Paket nach dem Debuggen erneut zu installieren.
netcoreapp2.0
auf geändert hattenet4.7
. Ändern Sie jedoch ...-> Erweitert -> Ausgabe -> Debug-Informationen: vonportable
,full
um das Problem zu beheben. Vielen Dank!