2017-02-07 6 views
2

C#コードをデバッグしようとしています。VS2015を使用して、Nugetパッケージを使用しています。私のアプリケーションのbinに/ Debugフォルダに出力フォルダ内のPDBファイルを無視するVisual Studio

> lib 
    > portable.etc.etc 
     > x.dll 
     > x.pdb 
> src 
    > *.cs 
    > **/*.cs (etc.) 
> x.nupkg 

、私はコピーされた.pdbファイルを見ることができます。パッケージは、(Nugetドキュメントによって提案さ)以下の構造のDLLのDLL、PDB、およびソースコードが含まれていますDLLを使用します。私の理解から(Visual Studioのデバッガに関するドキュメントの)、デバッガは同じ名前のPDB(または一致するハッシュ)のDLLと同じフォルダを検索する必要があります。

この設定を使用してブレークポイントを設定し、ナゲットパッケージのコードにステップインしようとすると、ソースファイルを探すようにファイルエクスプローラが開きます。ナゲットパッケージに同梱されているソースファイルを選択すると、ブレークポイントを設定できますが、デバッガは決して停止しません。したがって、PDBはまったく使用されていないようです。

デバッグで消費するプログラムをコンパイルすると、nugetパッケージもデバッグ構成でビルドされます。

Enable Just My Codeはオフです。

nugetパッケージからPDBを使用するにはどうすればよいですか?

----------- UPDATE -------------------

それは後に、ビン/デバッグからPDBを使用して手に入れましたVSでデフォルトで設定されていた不自然な設定を修正しました。 (アドレスレベルのデバッグオフ)。ただし、ファイルエクスプローラでソースファイルを検索することはできます。 VSが自動的にそのソースファイルを開く方法はないのですか、または手動でファイルを開くことは、ナゲットパッケージの消費者が負担しなければならない負荷ですか? 明確にするために、PDBが自動的にロードされています。私は自動的にC#ソースファイルを読み込み、代わりにVSがファイルエクスプローラで手動で検索するようにします。

+2

あなたは、リリースとして、あるいはデバッグモードで実行していますか? –

+0

さらに重要です - ナゲットはDebugまたはRelease DLLでビルドされていますか?どちらのタイプにもPDBが含まれている可能性があります(より良い例外報告のため)。 – Mobigital

+0

デバッグモード。文字を入力してスタックに応答させます – Dagrooms

答えて

2

デバッグにナビゲートし、その後、デバッグ設定でちょうど私のコードを無効にしてみてください - あなたはあなたがに未チェック「マイコードのみを有効にする」していることを確認する必要があり、外部のパッケージのために>モジュールと負荷シンボル

+0

ソリューションを実行してモジュールが表示される – Enrico

+0

興味深いことに、私は 'bin \ Debug \ x.pdb :Symbols loaded。 'Step Intoを押すと、分解のページが表示されます。 – Dagrooms

+0

すでにレコードのチェックが外されています。 – Dagrooms

2

- >ウィンドウサードパーティの.pdbファイルを1歩進んでください。

移動先:ツール - >オプション - >デバッグ - >チェックを外して「マイコードのみを有効にする」

利用できると一致した場合には、PDBからのソース情報を読み込みます。 pdbファイルは、同じビルドからの意味で、適切に動作するように、対応するdllファイルと一致する必要があります。

enter image description here

+0

それはチェックされていません、私は約束します – Dagrooms

関連する問題