如何在解决方案中找到未使用的NuGet包?

我有很多解决方案,其中安装了很多包,其中很多都被标记为有更新。

但是,我担心可能会有破坏性的更改,因此我首先想通过删除任何未使用的包来进行清理。


当前回答

你可以使用ReSharper 2019.1.1来实现。

右键单击项目>重构>删除未使用的引用。

如果你的项目很小,你也可以使用:项目>优化使用的引用…

弹出一个窗口。选择所有引用并删除它们。然后返回并重新添加那些导致编译器错误的代码。

其他回答

在visual studio 2019中右键单击Dotnet核心项目,您将看到一个删除未使用引用的选项。

ReSharper 2016.1有一个功能,删除未使用的NuGet。

它可以在解决方案上运行,也可以在解决方案中的每个项目上运行,它做以下事情:

分析代码并收集对程序集的引用。 基于程序集的使用构建NuGet使用图。 没有内容文件、未使用本身和未使用依赖项的包被假定为未使用并建议删除。

不幸的是,这对项目不起作用。json项目(RSRP-454515)和ASP。NET核心项目(RSRP-459076)

这是体力劳动,但很有效。

使用ReSharper或类似的代码分析工具来识别项目中任何未使用的引用,并卸载相应项目中的nuget。 有时卸载的NuGet仍然停留在“管理NuGet包”对话框中的“已安装包”和“更新”列表中。关闭Visual Studio,然后删除packages文件夹,然后重新打开解决方案并恢复您的块。

你可以使用ReSharper 2019.1.1来实现。

右键单击项目>重构>删除未使用的引用。

如果你的项目很小,你也可以使用:项目>优化使用的引用…

弹出一个窗口。选择所有引用并删除它们。然后返回并重新添加那些导致编译器错误的代码。

在Visual Studio 2019中,从最新版本和Visual Studio 2022开始,您可以删除之前评论中报道的未使用的包,但仅限于SDK风格的项目。 如果你尝试旧的项目,比如。net Framework,你不会看到这个选项。 为了验证,你可以创建两个简单的控制台应用:一个使用。net Core或更高版本,另一个使用。net Framework 4.7或4.8。


请参考:删除未使用的引用