35

Visual Studioでは、クラス、フィールド、メソッドについて、右クリックして[すべての参照を検索]と言うだけで、誰が私のコードを呼び出しているかを確認できます。

しかし、プロジェクトに似たようなものはありません。

そうするための最も簡単な方法は何ですか?すべてのプロジェクトをチェックして伝える必要がありますか?

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

AはBを指しますが、正規表現を使用してBを見つけることができません。

4

4 に答える 4

46
  1. すべて検索(CTRL + SHIFT + F)
  2. "検索対象:"=Reference。*ReplaceThisTextWithProjectName
  3. [検索オプション]セクションの[使用方法]->[正規表現]をオンにします
  4. "これらのファイルタイプを見てください:"="*。*proj*"
  5. "Look in:"=ドライブ上のディレクトリ/フォルダを選択します。「ソリューション全体」は使用しないでください。プロジェクトファイル自体にはアクセスできません。(「サブフォルダを含める」をチェックすることを忘れないでください)
于 2012-03-06T23:05:30.610 に答える
6

Resharper(無料ではありません)の使用を検討したかどうかはわかりませんが、プロジェクトを右クリックして依存コードを簡単に表示できます。

私の意見では、コストなしでは生きていけませんが、それだけの価値はありません。

http://www.jetbrains.com/resharper/webhelp/Navigation_and_Search__Finding_Usages__Finding_Dependencies_and_Referenced_Code.html

試してみたい場合は30日間の試用版があります-PS私は彼らのために働いていません、ただツールの愛好家です!:)

http://www.jetbrains.com/resharper/

于 2012-03-06T23:18:46.963 に答える
5

プロジェクト=>プロジェクトの依存関係を右クリックします。次に、ドロップダウンボックスでプロジェクトを選択します。以下でグレー表示されているすべてのプロジェクトは、選択したプロジェクトによって異なります。(これらはグレー表示されているため、チェックして循環依存関係を作成することはできません。)

于 2021-06-08T14:43:03.250 に答える
1

Notepad++などのエディターですべてのプロジェクトファイルを検索します

fenoneの答えに対する同様のアプローチは、Windowsのソリューションフォルダーに移動し、Windowsサーチで*。*projをフィルター処理することです。これにより、すべてのプロジェクトファイルが提供されます(または、別のフォルダーにいくつかある場合は、後で追加できます)。これらのファイルをすべて選択して、Notepad++などのエディターで開くだけです。必要に応じて、Notepad++インスタンスに他のプロジェクトを追加できます。プロジェクトファイルをすべて開いたら、プロジェクト、.dll、ライブラリなどへの参照を簡単に検索できます。プロジェクトファイルは独自のエディターでオフになっていて、私の意見では検索しやすいので、このアプローチを好みます。

プロジェクトをアンロードして再コンパイルする

2番目のアプローチは、Visual Studioのソリューションエクスプローラーでプロジェクトを右クリックし、[プロジェクトのアンロード]をクリックしてから、ソリューションを分析または再コンパイルすることです。アンロードされたプロジェクトをコードで実際に参照するプロジェクトにはエラーがありますが、ビルドは引き続き成功し、プロジェクトレベルの参照は引き続き有効であると表示されます(少なくともVS 2017では有効です)。プロジェクトレベルの参照を無効にし、実際に参照ビルドを失敗させる同様のより侵襲的なアプローチは、VisualStudioが見つけられないようにプロジェクトフォルダーのパスを変更することです。これには、プロジェクトではなくパスで設定された参照を識別するという副次的な影響があります。

その他の考慮事項

もちろん、プロジェクトを他のソリューションに含めることもできるため、ソリューション間で同様の検索手法を使用できます。ベースをカバーするために、プロジェクトではなくパスでコンパイルされたファイルへの参照がある場合があります。これは注意が必要なことです。ビルド後のイベントをチェックして、予期しない場所に何もコピーおよび参照されていないことを確認します。コピーに注意するために、.dllのすべてのインスタンス、または適切なフォルダスコープ内のすべてのインスタンスを検索します。

于 2018-07-12T21:43:40.190 に答える