0

MSBuild でビルドした Visual Studio クラス ライブラリ DLL があります。これをデバッグ構成で使用すると、DLL、PDB、およびさまざまなリソース ファイルが Web アプリケーションにコピーされます。私が抱えている問題は、Web アプリケーションをデバッグするときに、Visual Studio 2010 デバッガーが、ビルド中に作成された中間ディレクトリに残された PDB ファイルからシンボルのみをロードすることです。Web アプリケーションにフォルダーを含めるために VS でシンボルの場所を指定しても、これは常に無視され、VS は常に中間の場所に直接移動します。ここでの中間ディレクトリとは、MSBuild で BaseIntermediateOutputPath プロパティを使用して設定できるフォルダーを意味し、この設定が明示的に含まれていない場合は既定で obj フォルダーが作成されます。

Visual Studio 2010 デバッガーがこれを行うのはなぜですか? プロジェクト プロパティのどこにも obj フォルダーへの明示的な参照がありません。リモートデバッガーのセットアップを構成しようとすると、非常に困難になります。この動作をオーバーライドする方法はありますか、それとも VS 2010 のバグですか?

以前にそのような問題に遭遇した人はいますか?もしそうなら、回避策はありますか?

あなたが助けることができればありがとう。

4

1 に答える 1

1

実際には、pdb の場所dll に埋め込まれています。を使用してこのパスを見つけることができます

dumpbin /headers <your.dll>

検索される最初の場所は、dll で参照されている場所であり、ビルド マシンと同じマシンでバイナリを実行している場合に見つかります。

pdbs @ http://www.wintellect.com/CS/blogs/jrobbins/archive/2009/05/11/pdb-files-what-every-developer-must-know.aspxに関するこの素晴らしい記事を参照してください。

カスタムの subst.exe を使用した回避策が記事の最後に記載されています。それが役立つことを願っています。

于 2013-02-04T17:01:12.687 に答える