プロジェクト参照を分析および最適化する
この機能は、既存のプロジェクト / アセンブリ参照を管理し、参照されたプロジェクト / アセンブリの使用箇所を参照し、未使用の参照を削除できます。 単一のプロジェクトでこの機能を呼び出し、参照の分析ウィンドウを使用して、プロジェクトの参照を分析および最適化できます。
プロジェクト参照を分析する
参照を分析する ツールウィンドウには、現在のプロジェクトのプロジェクト / アセンブリ参照が表示され、参照がどの程度正確に使用されているかを調べることができます。 特定のアセンブリ、名前空間、型の使用箇所を調べるには、種類別にフィルタリングしてグループ化することができます。
シンボルアイコンは、さまざまな種類のシンボルを区別するのに役立ちます。 各使用箇所は行番号と列とともに表示され、異なるアイコンはリード、ライト、属性、呼び出しなど異なる使用種別を示します。 どの usage も double クリックすると、直接ソースコードに移動できます。
ソリューションエクスプローラーで、分析するプロジェクトまたはその リファレンス ノードを選択します。
次のいずれかを実行します。
を選択
選択範囲を右クリックし、コンテキストメニューで 参照の最適化 を選択します。
Control+Alt+Y を押します。
参照を分析するウィンドウのコントロールを使用して、プロジェクトの参照を調べます。

未使用の参照を削除する
プロジェクト参照をクリーンアップする最も簡単な方法は、ツールバーの 未使用の参照をすべて削除する
をクリックすることです。 いくつかの使用されていない参照を保持するか、使用されている参照の一部を削除したい場合は、対応する選択を行い、 選択した参照を削除する
をクリックします。
プロジェクトやアセンブリ参照を削除すると、ReSharper は、削除されたアセンブリから名前空間を参照する冗長な名前空間インポートディレクティブ(C# の using 、Visual Basic の Imports )もすべて削除します。
すべての Visual Studio プロジェクトは mscorlib を参照し、Visual Studio 2010 から System.Core アセンブリを参照する必要があります。 これらのアセンブリにはピン
アイコンが付いており、これらの参照を削除することはできません。
使用するかどうかにかかわらず、コンパイルに必要な参照が コンパイラーが必要とする参照 グループに表示されます。 このグループの参照には、通常、「関連する用途」、つまり暗黙の(非直接的な)用途があります。 最も単純なケースでは、関連する用途は型階層によって引き起こされます。 つまり、特定の型を使用する場合、その型のスーパータイプを含むすべてのアセンブリを参照する必要があります。
NuGet パッケージは、対応するアイコン
とともに表示されます。 色あせたアイコンは、パッケージに使用箇所がなく、安全に削除できることを意味します。 NuGet パッケージを削除する場合、ReSharper は NuGet アンインストールメカニズムを使用します。
プロジェクトとアセンブリの参照をクリーニングする方法は他にもあります。
未使用の参照を削除する コマンドは、プロジェクトまたはソリューションエクスプローラーの リファレンス ノードで呼び出すことができます。
Solution Explorer で リファレンス ノードを展開し、削除したい参照を選択して 安全な削除リファクタリング を実行できます。すると、未使用の参照がサイレントで削除されるか、選択した参照がどのように、どこで使われているかを示すダイアログが開きます。
暗黙的に読み込まれたアセンブリへの参照を保持する
一部のプロジェクトタイプは参照を暗黙的に使用するため、これらの参照は実行時にのみ使用されます。 これらの参照はコードに依存関係がなくても安全に削除できません。
ReSharper クリーンアップ機能(Analyze References ウィンドウの 未使用の参照をすべて削除するボタンおよび 未使用の参照を削除する リファクタリング)を引き続き利用したい場合は、暗黙的に読み込まれるアセンブリをそのようにマークする必要があります。
暗黙的に読み込まれたアセンブリをマークする
参照の分析ウィンドウを開きます。
未使用のリファレンス セクションで、保持する必要がある暗黙的に使用される参照を見つけます。
参照を右クリックし、次のいずれかのオプションを選択します。
実行時に使用される参照をマークする - 選択した参照を現在のプロジェクトのクリーンアップから除外する
実行時にソリューション全体に対して使用される参照をマークする - 選択した参照をソリューション内のすべてのプロジェクトでクリーンアップから除外する
ReSharper は、暗黙的に使用されている参照の情報を、 階層設定 、すなわちプロジェクトまたはソリューションの *.DotSettings.user ファイルに保存します。
参照分析ウィンドウ
コントロール | 名前の指定 | 説明 |
|---|---|---|
| リフレッシュ | コードの変更を外部に反映するためにウィンドウの内容を更新します。 |
| すべて展開/すべて折りたたむ | 現在のタブのすべてのノードを展開 / 折りたたみます。 |
| 前へ/次へ | 前 / 次の項目に移動し、それに応じてソースコードをスクロールします。 |
| プレビューの表示 Ctrl+P | リストを使用して指定された位置(ウィンドウの下部または右側)にある選択されたアイテムのプレビューでペインを非表示または表示します。 |
| エクスポート | このボタンをクリックして、現在ウィンドウに表示されているデータをテキスト形式でエクスポートするか、ドロップダウンセレクタを使用してデータを XML または HTML 形式でエクスポートします。 表示されるデータのエクスポートダイアログを使用すると、データをファイルに保存したり、クリップボードにコピーしたりできます。 |
| 同じ行に出現箇所をマージする | このオプションを選択すると、同じ行にある出現箇所は単一の項目として表示されます。 |
| 未使用の参照をすべて削除する | 使用されていないアセンブリ参照をすべて削除します。 |
| 選択した参照を削除する | 選択したすべてのアセンブリ参照を削除します。 |
| 使用箇所をフィルターする | このリストを使用すると、宣言、呼び出し、パラメーター、メソッドの戻り値など、表示する特定の種類の使用箇所を選択できます。 すべての使用箇所を表示 をクリックしてすべての種類の使用を有効にするか、 フィルターをクリアする をクリックしてすべての種類の使用を無効にし、現在のタブのすべての使用を非表示にします。 |
グループ化 | ウィンドウ内のアイテムを異なるカテゴリでグループ化できます。 |
ウィンドウタブ
ウィンドウ内で最適化参照コマンドの結果を開くと、左側に新しいタブが表示されます。 以前開いていたタブは、ウィンドウの幅が許せば右に移動し、それ以外の場合はメモリを節約しますが、タブの右側に表示されている矢印をクリックして必要なタブをクリックする

タブがアンロードされないようにするには、タブタイトルの横にあるピンアイコン
をクリックします。