我只是想知道在各种Visual Studio版本中是否可能自动删除从未使用过的项目中的所有引用?
在你的回答中,请说明解决方案适用于VS的哪个版本。
在Visual Basic项目中,支持删除“未使用的引用”(project ->References- >Unused References)。在c#中没有这样的函数。
在c#项目(没有其他工具)中做到这一点的唯一方法是删除可能未使用的程序集,编译项目并验证在编译过程中是否出现任何错误。如果没有发生错误,则您已移除未使用的程序集。(看我的帖子)
如果你想知道哪个项目(程序集)依赖于其他程序集,可以使用NDepend对于。
你可以尝试免费的VS2010扩展:参考助理由Lardite组。它非常适合我。此工具有助于查找未使用的引用,并允许您选择应该删除哪些引用。
你可以从Visual Studio扩展库中使用参考助手扩展。
用于Visual Studio 2010。
Resharper扩展将为你做这件事。
这个扩展支持Visual Studio 2005到2017。
虽然编译器不会包含未使用的程序集,但多余的使用语句和引用会降低Visual Studio和Intellisense的速度,因为工具必须考虑更多的代码。
对于任何来这里寻找Visual studio 2012的人:
下载并安装Visual Studio 11的参考助手
之后你可以这样做:
如果你安装了Resharper(插件),你可以访问一个特性,允许你通过解决方案资源管理器>(右键单击)引用>优化引用…分析使用的引用
http://www.jetbrains.com/resharper/webhelp/Refactorings__Remove_Unused_References.html < a href = " http://www.jetbrains.com/resharper/webhelp/Refactorings__Remove_Unused_References.html " > < / >
此功能不能正确处理:
使用DevExpress时,我遵循以下说明:
一些人建议使用一个很棒的工具——Visual Studio的参考助手。问题是VS2012是最新支持的Visual Studio。但是有办法让它在VS2013中也能正常工作;)
以下是如何做到的:
1)下载Lardite.RefAssistant.11.0.vsix
2)将扩展名更改为zip: Lardite.RefAssistant.11.0.vsix -> Lardite.RefAssistant.11.0.zip
Lardite.RefAssistant.11.0.vsix
Lardite.RefAssistant.11.0.zip
3)解压并在文本编辑器中打开extension.vsixmanifest文件
extension.vsixmanifest
4)找到所有InstallationTarget Version="[11.0,12.0)"的出现,并将它们替换为InstallationTarget Version="[11.0,12.0]"(注意右括号)
InstallationTarget Version="[11.0,12.0)"
InstallationTarget Version="[11.0,12.0]"
5)保存文件并压缩所有文件,使它们处于根压缩级别
6)将新zip的扩展名更改为vsix
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.
在VB2008中,它是这样工作的:
Project>Add References
然后单击“最近”选项卡,您可以看到最近使用的引用列表。找到你不想要的并删除它。然后关闭,不添加任何东西。
对于Visual Studio 2013/2015/2017,有一个扩展,它完全是你想要的:ResolveUR。它的基本功能是:
在Visual Studio版本2017和2015中,你可以使用代码映射特性来做到这一点,但该特性仅在企业版中可用,而不是社区或专业版本中。
右键单击解决方案资源管理器中的项目节点,并选择“Show on Code Map”。这将显示您的.dll为空白图中的单个节点。右键单击代码映射中的该节点并选择“显示此引用的程序集”。这将添加一个名为“Externals”的附加节点,可以展开该节点以仅显示实际引用的程序集。
你只需要用石头和赤手空拳就能像穴居人一样。
您还可以依靠您的构建工具来告诉您仍然需要哪些引用。这是VS 2017的时代,穴居人依然幸存。
下面的方法不依赖于任何“附加组件”,也不是很痛苦。
遍历每个源文件并
扫描每个文件寻找“0 reference”只需要一秒钟。
扫描整个项目只需要几分钟。
(更新)此特性仅适用于. net核心项目。
此功能将很快引入Visual Studio 2019,并且已经在Visual Studio 2019 v16.10预览中提供。
这个选项是默认关闭,但是你可以在菜单工具比;选择比;文本编辑器;c#祝辞先进的下启用它。在解决方案资源管理器(实验)中选择删除未使用的引用命令。一旦启用该选项,删除未使用的引用命令将出现在项目名称或依赖项节点的右键菜单中。
.
在VS2022(写作时预览)中,这是SDK风格项目(读取:.NET Core和更新)的开箱操作。
VS2022
.NET Core
你可以选择如何处理每一个发现。
阅读更多关于它在这里。
Pro-tip:检查你的项目是否正确编译和运行后应用这个。例如,根据我的经验,它不检查是否在运行时使用了依赖项。
Pro-tip: