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がファイルエクスプローラで手動で検索するようにします。
あなたは、リリースとして、あるいはデバッグモードで実行していますか? –
さらに重要です - ナゲットはDebugまたはRelease DLLでビルドされていますか?どちらのタイプにもPDBが含まれている可能性があります(より良い例外報告のため)。 – Mobigital
デバッグモード。文字を入力してスタックに応答させます – Dagrooms