我只是想知道在各种Visual Studio版本中是否可能自动删除从未使用过的项目中的所有引用?
在你的回答中,请说明解决方案适用于VS的哪个版本。
我只是想知道在各种Visual Studio版本中是否可能自动删除从未使用过的项目中的所有引用?
在你的回答中,请说明解决方案适用于VS的哪个版本。
当前回答
在VS2022(在撰写本文时预览)中,这是SDK风格项目(阅读:. net Core和更新版本)的开箱即用。
如果它可用,你可以在项目上下文菜单中找到它:
你可以选择如何处理每一个发现。
点击这里阅读更多信息。
提示:应用此功能后,检查项目是否正确编译和运行。例如,根据我的经验,它不会检查是否在运行时使用了依赖项。
其他回答
在Visual Studio版本2017和2015中,您可以使用代码映射功能来实现这一点,但此功能仅在企业版中可用,而在社区版或专业版中不可用。
右键单击解决方案资源管理器中的项目节点,并选择“Show on Code Map”。这将显示您的.dll为空白图中的单个节点。右键单击代码映射中的该节点,并选择“显示此引用的程序集”。这将添加一个名为“Externals”的附加节点,可以展开该节点以仅显示实际引用的程序集。
对于Visual Studio 2013/2015/2017有一个扩展,完全是你想要的:ResolveUR。它的基本功能是:
在项目中删除引用 项目使用msbuild编译 检查构建错误 如果存在构建错误,则恢复已删除的引用。
有些人建议使用一个很棒的工具——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.
下面的方法不依赖于任何“附加组件”,也不是很痛苦。
遍历每个源文件并
全选(Ctrl-A) 切换大纲展开(Ctrl-M, M)。这将把文件缩减为两行。 点击命名空间的“+”。这将把文件的每个类显示为一行。扫描每个类的引用计数,寻找未引用的类。 单击每个类的“+”。这将把每个类函数显示为一行。扫描每个函数的引用计数,寻找未引用的函数。
扫描每个文件寻找“0 reference”只需要一秒钟。
扫描整个项目只需要几分钟。
Resharper扩展将为你做这件事。
这个扩展支持Visual Studio 2005到2017。
虽然编译器不会包含未使用的程序集,但多余的使用语句和引用会降低Visual Studio和Intellisense的速度,因为工具必须考虑更多的代码。