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

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


当前回答

此特性仅适用于。net核心项目。

此功能将很快引入Visual Studio 2019,并且已经在Visual Studio 2019 v16.10预览1中提供。

默认情况下,此选项是关闭的,但您可以在“工具>选项>文本编辑器> c# >高级”菜单下启用该选项。在“解决方案资源管理器(实验性)”中选择“删除未使用的引用”命令。一旦启用该选项,删除未使用的引用命令将出现在项目名称或依赖项节点的右键菜单中。

其他回答

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

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

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

点击这里阅读更多信息。

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

此特性仅适用于。net核心项目。

此功能将很快引入Visual Studio 2019,并且已经在Visual Studio 2019 v16.10预览1中提供。

默认情况下,此选项是关闭的,但您可以在“工具>选项>文本编辑器> c# >高级”菜单下启用该选项。在“解决方案资源管理器(实验性)”中选择“删除未使用的引用”命令。一旦启用该选项,删除未使用的引用命令将出现在项目名称或依赖项节点的右键菜单中。

如果你安装了Resharper(插件),你可以访问一个功能,允许你通过解决方案资源管理器>(右键单击)分析使用的引用>优化引用…

http://www.jetbrains.com/resharper/webhelp/Refactorings__Remove_Unused_References.html

此功能不能正确处理:

依赖注入程序集 动态加载程序集(Assembly.LoadFile) 通过互操作加载本机代码程序集 ActiveX控件(COM互操作) 加载程序集的其他创造性方法

对于Visual Studio 2013/2015/2017有一个扩展,完全是你想要的:ResolveUR。它的基本功能是:

在项目中删除引用 项目使用msbuild编译 检查构建错误 如果存在构建错误,则恢复已删除的引用。

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