Ich habe versucht, das Debuggen der .NET-Quelle mithilfe dieser MDSN-exemplarischen Vorgehensweise einzurichten . Der Symbol-Cache ist ordnungsgemäß eingerichtet, ebenso wie das Kontrollkästchen ".NET Framework-Quellschritt aktivieren".
Wenn ich jedoch später in .NET-Code eintreten möchte, werde ich aufgefordert, den Speicherort der entsprechenden CS-Datei anzugeben. Die Fehlermeldung lautet
You need to find <filename>.cs to view the source for the current call stack frame
und The debugger could not locate the source file <filename>.cs
.
Mir wird angeboten, nach der Datei zu suchen (aber ich habe sie nicht) oder eine Demontage anzuzeigen (aber das möchte ich nicht).
Wie gehe ich in den .NET-Quellcode?
Durch Überprüfen von
Tools
->Options
->Debugging
->General
-> wurde aufEnable source server support
mysteriöse Weise alles zum Laufen gebracht. Ich hoffe das gleiche gilt für dichquelle
Das hat auch eine Stunde gedauert. Ich habe es endgültig behoben, indem ich die Einstellungen -> Extras -> Import- und Exporteinstellungen -> Alle Einstellungen zurückgesetzt zurückgesetzt habe
quelle
Bereinigen Sie die Lösung, bevor Build das Problem für mich gelöst hat.
Navigieren Sie einfach und klicken Sie auf:
Build
->Clean Solution
.Build
->Build Solution (Ctrl + Shift + B)
.quelle
Ich habe alle Antworten von oben ausprobiert und nichts hat funktioniert.
Das hat es für mich gelöst:
Debug
->Delete all Breakpoints
und es löste das Problem! So viele verschiedene Dinge, die dieses Problem verursachen.
quelle
Die Antworten hier sprechen alle davon, den Quellcode zu ignorieren / zu vermeiden, anstatt ihn tatsächlich zu betreten.
@JBSnorro
ist auf dem richtigen Weg, aber das Problem ist, dass Microsoft anscheinend nicht alle .NET-Symbole / -Quellen veröffentlicht, auf die Sie möglicherweise stoßen. Ich weiß nicht, ob es von ihrer Seite beabsichtigt ist, aber um in MS-Quellen einzusteigen, müssen sie jede Version jeder Baugruppe veröffentlichen, was eine große logistische Aufgabe ist.Tools
->Options
->Debugging
->General
->Enable source server support
wird in vielen Fällen funktionieren, aber ich fand zum Beispielmscorlib.dll
für 4.6.1, dass Symbole und / oder dekompilierte Quelle fehlten. Ich konnte also nicht wieDictionary.cs
oderTask.cs
als Beispiele in gängigen Quellcode einsteigen. Da sich die Quelle und die Symbole des MS-Symbolservers wahrscheinlich ständig ändern. Mein Problem kann behoben sein, wenn Sie dies lesen?Wenn ich dieselbe Lösung in Jetbrains Rider debugge, kann ich jede Klasse in jeder .NET-Assembly problemlos anzeigen und durchlaufen. In VS kann ich jedoch nur in eine Klasse eintreten, nicht aber in andere?
Wenn Sie wirklich den gesamten .NET-Quellcode verwenden möchten, können Sie DotPeek von Jetbrain verwenden und die .NET-Assemblys in tatsächliche CS-Dateien auf Ihrer Festplatte dekompilieren. Wenn du das siehst,
Sie können jetzt Ihre Festplatte nach dem Quellcode durchsuchen, den Sie mit DotPeek dekompiliert haben. Stellen Sie einfach sicher, dass Sie dieselbe Assemblyversion dekompiliert haben, auf die Sie in Ihrem Projekt verweisen. Wenn nicht, stimmen die Symbole möglicherweise nicht mit den richtigen Quellzeilennummern überein.
Wenn Sie nur verbergen möchten, dass diese "Quelle nicht gefunden" ständig angezeigt wird, und Sie nicht in den Code eintreten möchten, für den es keine Quellen gibt, lesen Sie
@Alex Sherman
die Antwort. Sie müssen herausfinden, in welcher Assembly die betreffende Datei enthalten ist, und dann diesen Assemblynamen zur Ausschlussliste hinzufügen.Denkanstöße, ich bin kein Fan von Rider over VS. Der Fahrer ist immer noch ein bisschen roh und es fehlt ihm die verrückte Menge an eingebauten Werkzeugen, die VS hat. Jedoch!! In solchen Fällen, in denen ich weiß, dass ich tiefer in das Unkraut eindringen kann, möchte ich es nebeneinander installieren lassen.
quelle
Hatte das gleiche Problem, keine der oben vorgeschlagenen Lösungen half mir, das Problem zu lösen. Trat in VS 2017 auf. Als ich das Projekt in Visual Studio 2019 ausführte, funktionierte alles. Versuchen Sie einfach, es in anderen Umgebungen auszuführen. Hoffe, diese Antwort wird jemandem helfen
quelle
Wenn der Fehler von der Suche nach "nullable.cs" oder einer anderen Kernquelldatei herrührt:
Sie können Symbole für bestimmte Module deaktivieren, indem Sie
Debug -> Options -> Debugging -> Symbols
und dann unten verwendenSpecify Excluded Modules
.Dies ist nützlich für die Fälle , in denen Sie tun deaktivieren möchten „Just My - Code“ zu Schritt in andere Baugruppen , dass Sie PDBs für haben. Ich denke, Visual Studio enthält Symbole für die Quelle
mscorlib.dll
, enthält diese jedoch nicht. Wenn Sie also in die Dinge eintreten, wird manchmal nach einer "nullable.cs" oder einer anderen Kernquelldatei gesucht.quelle
Hier finden Sie den Quellcode zum Herunterladen, damit Sie ordnungsgemäß debuggen können. https://referencesource.microsoft.com/#mscorlib,namespaces
quelle
Ich habe diesen Fehler beim Aktualisieren eines NuGet-Pakets in einem Projekt erhalten, während ich es in anderen Projekten der Lösung nicht aktualisiert habe.
Das Problem wurde für mich behoben, indem ich zum NuGet-Manager der Lösung ging und die Konsolidierungsfunktion verwendete, die sicherstellt, dass alle Projekte in der Lösung dieselbe Version verwenden.
quelle
In meinem Fall habe ich die Klasse umbenannt. Vielleicht wurde es mit einem anderen Modul verwechselt. Nachdem ich es umbenannt hatte, konnte ich einspringen.
quelle