如何在解决scheme中find未使用的NuGet包?

如何在解决scheme中find未使用的NuGet包?

我已经有很多解决scheme,安装的软件包有很多,而且大量的标记为更新。

不过,我担心可能会发生突变,所以我首先要清除所有未使用的软件包。

ReSharper 2016.1具有删除未使用的NuGet的function。

它可以在解决scheme上运行,也可以在解决scheme中的每个项目上运行,并执行以下操作:

  1. 分析你的代码并收集对程序集的引用。
  2. 根据程序集的用法构buildNuGet使用图。
  3. 没有内容文件的软件包,未使用本身和没有使用的依赖关系被认为是未使用,并build议删除。

不幸的是,这不适用于project.json项目( RSRP-454515 )和ASP.NET核心项目( RSRP-459076 )

您可以使用Visual Studio扩展解决scheme – 解决未使用的引用

在Visual Studio 2012/2013项目中通过解决scheme和项目节点上的菜单项解决未使用的引用(包括nuget引用)解决scheme资源pipe理器工具窗口。

它不是一个容易的任务,所以我build议做一个备份和/或提交之前,只是为了回滚,如果出了问题。

我不认为有一个默认的方式来find这个。 主要原因是这些软件包可以通过引用程序集来将源代码注入到项目中来做各种各样的事情。 尽pipe你可能想要检查Nuget.Extensions 。 codeplex上的以下线程讨论nuget软件包的审计报告。

http://nuget.codeplex.com/discussions/429694

这是手工劳动,但它的作品。

  1. 使用ReSharper或类似的代码分析工具来识别项目中的任何未使用的引用,并在相应的项目中卸载nuget。

  2. 有时,卸载的nugets仍然在“pipe理NuGet包”对话框中的“ 已安装包”和“ 更新”列表中。 closuresVisual Studio然后删除packages文件夹,然后重新打开解决scheme并恢复您的nugets。