我只是想知道在各种Visual Studio版本中是否可能自动删除从未使用过的项目中的所有引用?

在你的回答中,请说明解决方案适用于VS的哪个版本。


当前回答

使用DevExpress时,我遵循以下说明:

在VS中,进入DevExpress -编辑器-代码清理。在“规则”下,选中“删除未使用的命名空间引用”。单击OK。 右键单击解决方案,并选择“代码清理”。清理工作持续几分钟,然后结束。 构建应用程序

其他回答

在VS2022(在撰写本文时预览)中,这是SDK风格项目(阅读:. net Core和更新版本)的开箱即用。

如果它可用,你可以在项目上下文菜单中找到它:

你可以选择如何处理每一个发现。

点击这里阅读更多信息。

提示:应用此功能后,检查项目是否正确编译和运行。例如,根据我的经验,它不会检查是否在运行时使用了依赖项。

在Visual Basic项目中,支持删除“未使用的引用”(project ->References- >Unused References)。在c#中没有这样的函数。

在c#项目(没有其他工具)中做到这一点的唯一方法是删除可能未使用的程序集,编译项目并验证在编译过程中是否出现任何错误。如果没有发生错误,则您已移除未使用的程序集。(见我的帖子)

如果你想知道哪个项目(程序集)依赖于其他程序集,你可以使用NDepend。

你可以试试Lardite group的免费VS2010扩展:Reference Assistant。它非常适合我。此工具有助于查找未使用的引用,并允许您选择应该删除哪些引用。

下面的方法不依赖于任何“附加组件”,也不是很痛苦。

遍历每个源文件并

全选(Ctrl-A) 切换大纲展开(Ctrl-M, M)。这将把文件缩减为两行。 点击命名空间的“+”。这将把文件的每个类显示为一行。扫描每个类的引用计数,寻找未引用的类。 单击每个类的“+”。这将把每个类函数显示为一行。扫描每个函数的引用计数,寻找未引用的函数。

扫描每个文件寻找“0 reference”只需要一秒钟。

扫描整个项目只需要几分钟。

在Visual Studio版本2017和2015中,您可以使用代码映射功能来实现这一点,但此功能仅在企业版中可用,而在社区版或专业版中不可用。

右键单击解决方案资源管理器中的项目节点,并选择“Show on Code Map”。这将显示您的.dll为空白图中的单个节点。右键单击代码映射中的该节点,并选择“显示此引用的程序集”。这将添加一个名为“Externals”的附加节点,可以展开该节点以仅显示实际引用的程序集。