如何在解决方案中找到未使用的NuGet包?
我有很多解决方案,其中安装了很多包,其中很多都被标记为有更新。
但是,我担心可能会有破坏性的更改,因此我首先想通过删除任何未使用的包来进行清理。
如何在解决方案中找到未使用的NuGet包?
我有很多解决方案,其中安装了很多包,其中很多都被标记为有更新。
但是,我担心可能会有破坏性的更改,因此我首先想通过删除任何未使用的包来进行清理。
当前回答
我不认为有一个默认的方法来发现这一点。主要原因是这些包可以做各种各样的事情,从引用程序集到向项目注入源代码。你可能想检查一下Nuget。扩展。codeplex上的以下线程讨论了nuget包的审计报告。
http://nuget.codeplex.com/discussions/429694
(NuGet已从Codeplex移动到GitHub。以上档案链接:) https://web.archive.org/web/20171212202557/http://nuget.codeplex.com:80/discussions/429694
其他回答
ReSharper 2016.1有一个功能,删除未使用的NuGet。
它可以在解决方案上运行,也可以在解决方案中的每个项目上运行,它做以下事情:
分析代码并收集对程序集的引用。 基于程序集的使用构建NuGet使用图。 没有内容文件、未使用本身和未使用依赖项的包被假定为未使用并建议删除。
不幸的是,这对项目不起作用。json项目(RSRP-454515)和ASP。NET核心项目(RSRP-459076)
你可以使用Visual Studio扩展ResolveUR -解析未使用的引用。
通过解决方案和项目节点的菜单项解决方案资源管理器工具窗口解决Visual Studio 2012/2013/2015项目中未使用的引用,包括nuget引用
这不是一项容易的任务,所以我建议在此之前进行备份和/或提交,以便在出现错误时进行回滚。
在Visual Studio 2019中,从最新版本和Visual Studio 2022开始,您可以删除之前评论中报道的未使用的包,但仅限于SDK风格的项目。 如果你尝试旧的项目,比如。net Framework,你不会看到这个选项。 为了验证,你可以创建两个简单的控制台应用:一个使用。net Core或更高版本,另一个使用。net Framework 4.7或4.8。
请参考:删除未使用的引用
在visual studio 2019中右键单击Dotnet核心项目,您将看到一个删除未使用引用的选项。
你可以使用ReSharper 2019.1.1来实现。
右键单击项目>重构>删除未使用的引用。
如果你的项目很小,你也可以使用:项目>优化使用的引用…
弹出一个窗口。选择所有引用并删除它们。然后返回并重新添加那些导致编译器错误的代码。