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

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


当前回答

你只需要用石头和赤手空拳就能像穴居人一样。

删除未使用的名称空间(用于每个类) 运行调试构建 将可执行文件和其余名称空间引用复制到新位置 运行可执行文件 将出现缺失引用DLL错误 从调试文件夹中复制所需的DLL 重复4 - 6 咕咕嘎嘎? 扔你的石头

您还可以依靠您的构建工具来告诉您仍然需要哪些引用。这是VS 2017的时代,穴居人依然幸存。

其他回答

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

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

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

有些人建议使用一个很棒的工具——Visual Studio的参考助手。问题是VS2012是最新支持的Visual Studio。但是有办法让它在VS2013中也能正常工作;)

以下是如何做到的:

1)下载Lardite.RefAssistant.11.0.vsix

2)将扩展名更改为zip: Lardite.RefAssistant.11.0。vsix -> Lardite.RefAssistant.11.0.zip

3)解压并打开扩展。Vsixmanifest文件在文本编辑器中

4)找到InstallationTarget Version="[11.0,12.0)"的所有出现项,并将它们替换为InstallationTarget Version="[11.0,12.0]"(注意右括号)

5)保存文件并压缩所有文件,使它们处于根压缩级别

6)将新的zip扩展名更改为vsix

7)安装并享用:)

我已经用VS2013对它进行了测试,感谢源代码提供的教程

编辑 添加到支持VS 2015社区版

<InstallationTarget Version="[14.0,15.0]" Id="Microsoft.VisualStudio.Community" />

括号的含义

[ – minimum version inclusive.

] – maximum version inclusive. 

( – minimum version exclusive. 

) – maximum version exclusive.

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

您可以使用Visual Studio扩展库中的引用助手扩展。

用于Visual Studio 2010。

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

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