ソリューションで未使用のNuGetパッケージを見つけるにはどうすればよいですか?
インストール済みのパッケージに多くの解決策があり、多数の更新プログラムがあるとフラグが立てられています。
しかし、私は重大な変更があるのではないかと懸念しているため、まず未使用のパッケージを削除してクリーンアップしたいと思います。
ソリューションで未使用のNuGetパッケージを見つけるにはどうすればよいですか?
インストール済みのパッケージに多くの解決策があり、多数の更新プログラムがあるとフラグが立てられています。
しかし、私は重大な変更があるのではないかと懸念しているため、まず未使用のパッケージを削除してクリーンアップしたいと思います。
回答:
ReSharper 2016.1には、未使用のNuGetを削除する機能があります。
ソリューションおよびソリューションの各プロジェクトで実行でき、次のことを行います。
残念ながら、これはproject.json
プロジェクト(RSRP-454515)およびASP.NETコアプロジェクト(RSRP-459076)では機能しません
Visual Studio Extension ResolveUR-未使用の参照の解決を使用できます
ソリューションおよびプロジェクトノードのソリューションエクスプローラーツールウィンドウのメニュー項目を使用して、Visual Studio 2012/2013プロジェクトのnuget参照を含む未使用の参照を解決します。
これは簡単な作業ではないので、何か問題が発生した場合にロールバックするために、前にバックアップを作成してコミットすることをお勧めします。
The tool is not tested to work with DotNet Web projects(Asp.Net, MVC), Windows CE, Silverlight project types. Use it at your own risk.
これは、Resharper 2019.1.1を使用して実現できます。
プロジェクトを右クリックし、[リファクタリング]> [未使用の参照を削除]を選択します。
プロジェクトが小さい場合は、[プロジェクト]> [使用する参照を最適化]を選択することもできます。。。
ウィンドウがポップアップします。すべての参照を選択し、すべて削除します。次に戻って、コンパイラエラーが発生するものを再度追加します。
これは手作業ですが、うまくいきます。
ReSharperまたは同様のコード分析ツールを使用して、プロジェクト内の未使用の参照を特定し、対応するプロジェクトのnugetをアンインストールします。
アンインストールされたNuget が、[NuGetパッケージの管理]ダイアログの[ インストールされたパッケージ] および[ 更新]リストに残っていることがあります。Visual Studioを閉じてpackages
フォルダーを削除し、ソリューションを再度開いて、nugetsを復元します。
これを見つけるためのデフォルトの方法はないと思います。主な理由は、これらのパッケージがアセンブリの参照からプロジェクトへのソースコードの挿入までさまざまなことができるためです。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