4

これは、「コードのみ」のデバッグ設定、またはコードの最適化とマークされている、またはコードのデバッグとマークされていないこととは関係ありません...これらの状況はすべて除外されていました。

ライブラリを使用する .net プロジェクトがあります。デバッグするために、小さなプロジェクトを作成し、ライブラリのプロジェクトを追加しました。テスト プロジェクトにライブラリ プロジェクトの参照を追加しました。テスト プロジェクトを開始してソリューションを実行したところ、ブレークポイントが中空の赤い点に変わりました。この同じセットアップは、Visual Studio 2005 でも完全に機能します。

しかし、同じライブラリが GAC にインストールされていて削除したことを思い出しました。今では、ブレークポイントが正しくヒットしています。

この動作が VS 2012 で新しいかどうかは誰にもわかりませんか? またはそれに苦しんだ人はいますか?

4

1 に答える 1

3

これは、デバッガーがアセンブリのシンボル情報を見つけられない場合に発生します。PDB ファイルが GAC に存在しないため、やや可能性の高いシナリオです。Debug + Windows + Modules を使用して、リストでアセンブリを見つけます。それを右クリックし、[Symbol Load Information] を選択して、デバッガーが PDB ファイルを検索した場所を確認します。

開発マシンで GAC を使用しないでください。これは純粋な展開の詳細です。プログラミング中の事故以外の何物でもありません。pdb ファイルに問題があり、読み込まれたアセンブリの古いコピーを取得するように。デバッグ中に GAC を使用する必要があるのは、奇妙な相互運用シナリオでのみ発生するはずです。

于 2012-12-30T19:08:39.567 に答える