ReSharper 2020.1ヘルプ

プロジェクト参照の分析と最適化

ReSharper | 検索 | Optimize References…
Control+Alt+Y
ReSharper_OptimizeReferences

この機能は、既存のプロジェクト/アセンブリ参照の管理、参照されているプロジェクト/アセンブリの使用箇所の参照、未使用の参照の削除を支援します。単一のプロジェクトでこの機能を呼び出すことができ、参照分析ウィンドウを使用してプロジェクト参照を分析および最適化することができます。

プロジェクト参照を分析する

参照を分析するツールウィンドウには、現在のプロジェクトのプロジェクト/アセンブリ参照が表示され、参照がどの程度正確に使用されているかを調べることができます。特定のアセンブリ、名前空間、または型の使用箇所を調べるには、種類別にフィルタリングしてグループ化することができます。

The symbol icons could help you distinguish between different kinds of symbols. Each usage is displayed with the line number and column; different icons mean different kinds of usages like read, write, attribute, or invocation usage. You can double-click any usage to navigate directly to the source code.

  1. ソリューションエクスプローラーで、分析するプロジェクトまたはその参照ノードを選択します。

  2. 以下のいずれか 1 つを実行します:

    • ReSharper | 検索 | Optimize References…を選択

    • 選択範囲を右クリックし、コンテキストメニューで参照の最適化を選択します。

    • Control+Alt+Yを押します。

  3. 参照分析ウィンドウのコントロールを使用して、プロジェクト参照を探索します。

    ReSharper: Analyzing and Optimizing Project References

未使用の参照を削除する

プロジェクト参照をクリーンアップする最も簡単な方法は、ツールバーの未使用の参照をすべて削除する ThemedIcon RemoveAllUnusedReferences Screen Gray png をクリックすることです。いくつかの使用されていない参照を保持するか、使用されている参照の一部を削除したい場合は、対応する選択を行い、選択した参照を削除する ThemedIcon RemoveSelectedReference Screen Gray pngをクリックします。

プロジェクトとアセンブリの参照を削除すると、ReSharperは、削除されたアセンブリから名前空間を参照する冗長な名前空間インポートディレクティブもすべて削除します。

すべてのVisual Studioプロジェクトは mscorlib を参照し、Visual Studio 2010から System.Core アセンブリを参照する必要があります。これらのアセンブリにはピン ThemedIcon Pin Screen Gray png アイコンが付いており、これらの参照を削除することはできません。

References that are needed for compilation, independently of whether they are used or not, are displayed in the コンパイラが必要とする参照 group. References in this group are normally have 'related usages', that is, implicit (non-direct) usages. In the simplest case, related usages are caused by a type’s hierarchy. That is, if you use a certain type, you have to reference all assemblies containing that type’s supertypes.

NuGetパッケージは、対応するアイコン ThemedIcon NuGet Screen Gray pngとともに表示されます。NuGetパッケージを削除するとき、ReSharperはNuGetアンインストールメカニズムを使用します。

プロジェクトとアセンブリ参照をクリーンアップする方法は2つあります。

  • 未使用の参照を削除するコマンドは、プロジェクトまたはソリューションエクスプローラーの参照ノードで呼び出すことができます。

  • ソリューションエクスプローラーで参照ノードを展開し、削除する参照を選択して安全な削除リファクタリングを呼び出します。これにより、使用されていない参照が確認なしで削除されるか、選択された参照がどこでどのように使用されるかを示すダイアログが開きます。

暗黙的に読み込まれたアセンブリへの参照を保持する

一部のプロジェクトタイプは暗黙的に参照を使用します。つまり、これらの参照は実行時にのみ使用されます。これらの参照は、コードに依存していなくても安全に削除することはできません。

ReSharperクリーンアップ機能(参照分析ウィンドウおよび未使用の参照を削除するリファクタリングの未使用の参照をすべて削除するボタン)を使用したい場合は、暗黙的にロードされたアセンブリをそのようにマークする必要があります。

暗黙的に読み込まれたアセンブリをマークする

  1. 参照分析ウィンドウを開く

  2. 未使用のリファレンスセクションで、保持する必要がある暗黙的に使用される参照を見つけます。

  3. 参照を右クリックし、次のいずれかのオプションを選択します。

    • 実行時に使用される参照をマークする - 選択した参照を現在のプロジェクトのクリーンアップから除外する

    • 実行時にソリューション全体に対して使用される参照をマークする - 選択した参照をソリューション内のすべてのプロジェクトでクリーンアップから除外する

  4. ReSharper will save the information about implicitly used references in its layered settings— in a *.DotSettings.user file either for the project or solution.

最終更新日: 2020年5月29日

関連ページ:

参照分析ウィンドウ

ReSharper | 検索 | Optimize References…参照を分析するウィンドウは、参照の最適化コマンドを呼び出すときにプロジェクト参照を表示するために使用されます。使用されていないアセンブリ参照、使用されたアセンブリ参照、対応する用途、固定された参照が表示されます。...

シンボルアイコンスキーム

コード補完リスト、リファクタリングまたはmember-generationダイアログ、および他の多くのUIコンテキストでは、ReSharperは使用されるシンボルの種類を視覚化するためにシンボルアイコンを表示します(たとえば、補完リストのメソッド、フィールド、または拡張メソッドを区別するため)。明る...

未使用の参照を削除する

このコマンドを使用すると、ソースコード内で実際に使用されていないプロジェクトおよびアセンブリ参照をクリーンアップすることができます。このコマンドは、プロジェクト、ソリューションフォルダー、またはソリューション全体で適用できます。削除が完了する前に、削除されるすべての参照を表示することができます。必要...

安全な削除リファクタリング

ReSharper | リファクタリング | Safe Delete…他のシンボルやプロジェクト/アセンブリ参照を削除する場合は、このリファクタリングを使用して、削除後にソリューションがコンパイルされるようにします。削除されたアイテムへの参照がない場合、またはすべての参照が安全に折りた...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

プロジェクト階層を探索する

ReSharper | インスペクション | プロジェクト階層を表示するこの機能を使用すると、参照され参照されているプロジェクトおよびソリューション内の特定のプロジェクトのアセンブリを分析できます。You can analyze project dependencies visually with