19

DLL形式のアセンブリへの参照を含むC#プロジェクトがあります。これらのDLLファイルのPDB情報が、同じフォルダーに含まれています。参照されているメンバーでF12キーを押すと、メンバーの定義に移動します。代わりに、それは私にメタデータを与えます、もちろん私は望んでいません。

VSがデバッグしているときに、そのメソッドに1つのステップを実行すると、ソースコードに移動します。ただし、そのメソッドでF12キーを押すと、メタデータが表示されます。

ここにも同様の質問がありますが、それはプロジェクトの参照にのみ適用され、受け入れられた解決策は私の問題とは何の関係もありません。

Visual Studioの「定義に移動」は、メタデータのみを表示します

要約する:

  • 参照されるプロジェクトはDLLです
  • PDB情報を持っています
  • デバッグモードでシングルステップすると、ソースコードが表示されます
  • F12はメタデータに私をもたらします
  • デバッグと同じように、F12でソースコードにアクセスしてもらいたいです。

編集:「プロジェクト」として追加することは、ソリューションファイルがすべて別々のソース管理リポジトリの下にある他の5つのプロジェクトについて参照するため、さらに複雑になるため、オプションではありません。

4

7 に答える 7

12

Visual Studioで[参照]セクションを展開し、関連するプロジェクト(F12に含めるソースコードを含むプロジェクト)への参照を選択して右クリックし、[削除]を選択します。

次に、[参照]を右クリックして[参照の追加]を選択し、[プロジェクト]タブ(VS 2012を使用している場合)で参照を追加するプロジェクトを選択(または参照)して、[OK]ボタンをクリックして参照をプロジェクトに追加します。 。

これにより、参照が再構築され、参照されたプロジェクトのソースコードにF12で変換できるようになります。この問題が発生しているソリューション内のすべてのプロジェクトでこれを行う必要があります。

なぜこれが起こるのかわかりませんが、少なくとも問題の解決策はかなり簡単です

于 2013-03-05T16:49:37.170 に答える
8

ReSharperがインストールされている場合は、ReSharperオプションを表示して、を探す必要がありますExternal Sources。そこで、関連するオプションを指定できます。

ここに画像の説明を入力してください

于 2015-02-25T08:14:17.940 に答える
4

この問題はVisualStudio2013で解決されたようです。DLLと同じフォルダーにPDB情報があると、[定義に移動]を使用したときにソースコードが表示されます。Reflector拡張機能がインストールされていません。

于 2015-10-27T00:48:22.377 に答える
2

参照されるDLLはソリューションのプロジェクトですか?プロジェクトのソースコードがあり、それが私のソリューションに含まれていると、VisualStudioはこのコードにはるかに簡単にリンクできることがわかりました。(メタデータを表示せずに)。

また、[参照]ポップアップの[プロジェクト]で参照を追加してください。

これは私がこの問題を抱えているときにとにかく私がすることです

お役に立てれば!

PS。PDBファイルは通常、デバッグ用(ローカルとリモートの両方)であり、使用しようとしている方法でソースコードを読み取るためには使用されません。(「定義に移動」)

于 2012-11-02T21:44:25.263 に答える
1

この問題の解決策の1つは、.NET Reflector、VS、またはVSProエディションを使用することです。このプログラムは、必要な機能を提供するようにVisualStudioを変更します。

http://www.reflector.net/

残念ながら、それは$135から$195の費用がかかりますが、これは誰にとっても選択肢ではありません。

于 2012-11-03T00:01:05.260 に答える
-1

.. \ bin \ Debug\referenceFile.dllの代わりにプロジェクトとして参照を追加します

それは私の問題を解決しました

于 2014-12-16T16:39:18.483 に答える
-1

また、プロジェクトとして参照の追加を使用しましたが、問題は解決され、うまく機能しています。実際、私は非常に長い間この時点で立ち往生していて、最終的にこの問題を解決しました。

参照->参照の追加->ソリューション->プロジェクト->参照の選択

ここに画像の説明を入力してください

于 2015-10-17T12:47:12.227 に答える