web-dev-qa-db-ja.com

ソリューションで未使用のNuGetパッケージを見つけるにはどうすればよいですか?

ソリューションで未使用のNuGetパッケージを見つけるにはどうすればよいですか?

インストールされたパッケージに多くのソリューションがあり、多数のソリューションに更新があるとフラグが付けられています。

ただし、重大な変更がある可能性があるため、最初に未使用のパッケージを削除してクリーンアップしたいと考えています。

109
SteveC

ReSharper 2016.1には 未使用のNuGetを削除する機能 があります

ソリューションおよびソリューション内の各プロジェクトで実行でき、次のことを行います。

  1. コードを分析し、アセンブリへの参照を収集します。
  2. アセンブリの使用状況に基づいてNuGet使用状況グラフを作成します。
  3. コンテンツファイル、未使用のパッケージ、および使用済みの依存関係のないパッケージは、未使用と見なされ、削除することが推奨されます。

残念ながら、これはproject.jsonプロジェクト( RSRP-454515 )およびASP.NETコアプロジェクト( RSRP-459076 )では機能しません

46
ulex

Visual Studio拡張機能を使用できます ResolveUR-未使用参照の解決

ソリューションおよびプロジェクトノードのソリューションエクスプローラーツールウィンドウのメニュー項目を使用して、Visual Studio 2012/2013プロジェクトのナゲット参照を含む未使用の参照を解決します。

それは簡単なタスクではないので、何かがうまくいかなかった場合にロールバックするために、前にバックアップやコミットを行うことをお勧めします。

19
dknaack

Resharper 2018.1を使用してこれを実現できます。

プロジェクトを右クリックして、「リファクタリング」>「未使用の参照を削除」を選択します。

プロジェクトが小さい場合は、[使用済み参照の分析]をクリックすることもできます。 。 。

ウィンドウがポップアップします。すべての参照を選択し、それらをすべて削除します。その後、戻って、コンパイラエラーが発生したものを再度追加します。

3
Nick Gallimore

これは手作業ですが、機能します。

  1. ReSharperまたは同様のコード分析ツールを使用して、プロジェクト内の未使用の参照を特定し、対応するプロジェクト内のヌジェットをアンインストールします。

  2. アンインストールされたnugetsが、NuGetパッケージの管理ダイアログのインストール済みパッケージおよび更新リストに残ることがあります。 Visual Studioを閉じてからpackagesフォルダーを削除し、ソリューションを再度開いてナゲットを復元します。

1
angularsen

これを見つけるデフォルトの方法はないと思います。主な理由は、アセンブリの参照からプロジェクトへのソースコードの注入まで、これらのパッケージで実行できるさまざまなことです。ただし、 Nuget.Extensions を確認することもできます。 codeplexの次のスレッドは、nugetパッケージの監査レポートについて説明しています。

http://nuget.codeplex.com/discussions/429694

(NuGetはCodeplexからGitHubに移動しました。上記リンクのアーカイブ:) https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694

0
Nikhil Gupta