この MDSNウォークスルー に従って、.NETソースのデバッグを設定してみました。 「.NET Frameworkソースステッピングを有効にする」チェックと同様に、シンボルキャッシュが適切に設定されています。
しかし、その後、.NETコードにステップインするたびに、関連するcsファイルの場所を指定するよう求められます。エラーメッセージはYou need to find <filename>.cs to view the source for the current call stack frame
およびThe debugger could not locate the source file <filename>.cs
です。
ファイルを参照する(ただし、持っていない)か、逆アセンブリを表示する(ただし、それはしたくない)ように勧められます。
.NETソースコードにステップインする方法は?
Tools
-> Options
-> Debugging
-> General
-> Enable source server support
を確認すると、すべてがうまくいきませんでした。同じことがあなたにも当てはまると思います
私の場合、.Netフレームワークをデバッグしようとしていませんでしたが、同じエラーが表示されていました:。NETソースコードをデバッグするための.csファイルが見つかりません。そのため、以下の「コードだけを有効にする」オプションをオンにする必要がありました。
ツール->オプション->デバッグ->一般->自分のコードだけを有効にする
MSドキュメントごと:
Visual Studioを構成して、システム、フレームワーク、その他のユーザー以外の呼び出しを自動的にステップオーバーし、呼び出しスタックウィンドウでそれらの呼び出しを折りたたむことができます。
https://docs.Microsoft.com/en-us/visualstudio/debugger/just-my-code
これにも1時間かかりました。最後に、設定->ツール->設定のインポートとエクスポート-> Resettをリセットして修正しました。
ここでの回答はすべて、実際にソースコードに足を踏み入れるのではなく、ソースコードを無視/回避することについて述べています。
@JBSnorro
は正しい軌道に乗っていますが、問題は、発生する可能性のあるすべての.NETシンボル/ソースをMicrosoftが公開していないように見えることです。それが意図的なものであるかどうかはわかりませんが、MSソースに足を踏み入れるには、すべてのアセンブリのすべてのバージョンを公開する必要があり、これは大きなロジスティックタスクです。
Tools
-> Options
-> Debugging
-> General
-> Enable source server support
は多くの場合に機能しますが、たとえば4.6.1のmscorlib.dll
にはシンボルがないか、ソースが逆コンパイルされていることがわかりました。そのため、例としてDictionary.cs
やTask.cs
のような一般的なソースコードに足を踏み入れることはできませんでした。 MSシンボルサーバーのソースとシンボルは常に変化するため、あなたがこれを読むまでに私の問題は解決するかもしれませんか?
JetbrainのRiderで同じソリューションをデバッグすると、すべての.NETアセンブリのすべてのクラスを問題なく表示およびステップスルーできます。しかし、VSでは、いくつかのクラスにしか足を踏み入れることはできませんが、他のクラスには足りませんか?
すべての.NETソースコードにステップインすることに本当にコミットしている場合は、JetbrainのDotPeekを使用して、.NETアセンブリをディスクの実際の.csファイルに逆コンパイルできます。次に、これを見ると、
これで、DotPeekを使用して、逆コンパイルしたソースコードをディスクで参照できます。プロジェクトで参照するのと同じアセンブリバージョンを必ず逆コンパイルしてください。そうでない場合、シンボルは正しいソース行番号と一致しない可能性があります。
代わりに、この「ソースが見つかりません」が常に表示されないようにしたいだけで、ソースがないコードにステップインする必要がない場合は、@Alex Sherman
の答えを読んでください。問題のファイルが含まれているアセンブリを把握し、そのアセンブリ名を除外リストに追加する必要があります。
考えてみると、私はRider over VSのファンではありません。 Riderは未だに未加工であり、VSが備えているツールのクレイジーな量に欠けています。しかしながら!!このような場合、雑草をより深く掘り下げることができるとわかっている場合、サイドバイサイドでインストールするのが好きです。
同じ問題を抱えていたが、上記の解決策のいずれも私が問題を解決するのを助けなかった。 VS 2017で発生しました。VisualStudio 2019でプロジェクトを実行すると、すべてが機能しました。したがって、他の環境で実行してみてください。この答えが誰かを助けることを願っています
Cleanビルド前のソリューションで問題が解決しました。
ナビゲートしてクリックするだけです:
Build
-> Clean Solution
。Build
-> Build Solution (Ctrl + Shift + B)
。エラーが「nullable.cs」または他のコアソースファイルの検索からのものである場合:
Debug -> Options -> Debugging -> Symbols
を使用し、下部のSpecify Excluded Modules
を使用して、特定のモジュールのシンボルを無効にできます。
これは、do "Just My Code"を無効にして、PDBがある他のアセンブリにステップインする場合に役立ちます。 Visual Studioにはmscorlib.dll
のシンボルが付属していますが、ソースを含めるnotしているので、場合によっては「nullable.cs」または他のコアソースファイルを探すことがあります。
ここからソースコードをダウンロードしてダウンロードできるので、適切にデバッグできます。 https://referencesource.Microsoft.com/#mscorlib,namespaces