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

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

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


当前回答

你可以使用ReSharper 2019.1.1来实现。

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

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

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

其他回答

你可以使用Visual Studio扩展ResolveUR -解析未使用的引用。

通过解决方案和项目节点的菜单项解决方案资源管理器工具窗口解决Visual Studio 2012/2013/2015项目中未使用的引用,包括nuget引用

这不是一项容易的任务,所以我建议在此之前进行备份和/或提交,以便在出现错误时进行回滚。

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

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

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

Visual Studio 2019(版本16.9)内置了删除未使用的包功能,我们现在需要手动启用它。

进入工具>选项>文本编辑器> c# >高级>(在分析部分下)勾选显示“删除未使用的引用”命令

Visual Studio 16.10版本提供了删除未使用的引用特性。右键单击项目>删除未使用的引用。

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

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

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

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