未使用の NuGet パッケージをソリューションで見つけるにはどうすればよいですか?
多数のパッケージがインストールされており、それらの多くに更新があるとフラグが付けられているソリューションが多数あります。
ただし、重大な変更があるのではないかと懸念しているため、まず未使用のパッケージを削除してクリーンアップしたいと考えています。
未使用の NuGet パッケージをソリューションで見つけるにはどうすればよいですか?
多数のパッケージがインストールされており、それらの多くに更新があるとフラグが付けられているソリューションが多数あります。
ただし、重大な変更があるのではないかと懸念しているため、まず未使用のパッケージを削除してクリーンアップしたいと考えています。
ReSharper 2016.1 には、未使用の NuGet を削除する機能があります。
ソリューションおよびソリューション内の各プロジェクトで実行でき、次のことを行います。
残念ながら、これはproject.json
プロジェクト ( RSRP-454515 ) および ASP.NET コア プロジェクト ( RSRP-459076 )では機能しません。
Visual Studio 拡張機能ResolveUR - Resolve Unused Referencesを使用できます。
ソリューションおよびプロジェクト ノードのメニュー項目を使用して、Visual Studio 2012/2013/2015 プロジェクトの nuget 参照を含む未使用の参照を解決する ソリューション エクスプローラー ツール ウィンドウ
簡単な作業ではないので、何か問題が発生した場合にロールバックできるように、事前にバックアップやコミットを作成することをお勧めします。
これを見つけるためのデフォルトの方法はないと思います。主な理由は、アセンブリの参照からプロジェクトへのソース コードの挿入まで、これらのパッケージが実行できるさまざまなことです。ただし、 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
最新バージョンおよび Visual Studio 2022 以降の Visual Studio 2019 では、以前のコメントで報告されているように、未使用のパッケージを削除できますが、SDK スタイルのプロジェクトのみです。.Net Framework などの古いプロジェクトを試す場合、このオプションは表示されません。回避策として、確認のために、単純なコンソール アプリを 2 つ作成できます。1 つは .Net Core 以降を使用し、もう 1 つは .Net Framework 4.7 または 4.8 を使用します。
参照してください:未使用の参照を削除する