首页 文章

从Visual Studio项目中的项目中删除所有未使用的引用

提问于
浏览
212

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

在您的回答中,请指定解决方案适用的VS版本 .

15 回答

  • 5

    在Visual C#中删除引用在“解决方案资源管理器”中,打开项目节点下的“引用”节点 . 右键单击引用,然后单击“删除” .

  • 21

    如果安装了Resharper(插件),则可以访问允许您通过 Solution Explorer > (right click) References > Optimize References... 分析已使用引用的功能

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

    此功能无法正确处理:

    • 依赖注入程序集

    • 动态加载的程序集(Assembly.LoadFile)

    • 通过互操作加载的本机代码程序集

    • ActiveX控件(COM互操作)

    • 加载装配的其他创造性方法

    enter image description here

  • 1

    您可以尝试免费的VS2010扩展程序:Lardite group的Reference Assistant . 它对我来说很完美 . 此工具有助于查找未使用的引用,并允许选择应删除的引用 .

  • 9

    Resharper extension会为你做这件事 .

    此扩展程序支持Visual Studio 2005到2017 .

    虽然编译器不会包含未使用的程序集,但无关的使用语句和引用会降低Visual Studio和Intellisense的速度,因为工具必须考虑更多的代码 .

  • -9

    在Visual Basic项目中,支持删除“未使用的引用”(项目 - >引用 - >未使用的引用) . 在C#中没有这样的功能 .

    在C#项目中执行此操作(没有其他工具)的唯一方法是删除可能未使用的程序集,编译项目并验证编译期间是否发生任何错误 . 如果没有错误发生,则删除了未使用的程序集 . (See my post

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

  • 11

    对于任何来这里寻找 Visual studio 2012 的人:

    下载并安装Reference Assistant for Visual Studio 11

    以后你可以这样做:

    enter image description here

  • 7

    对于Visual Studio 2013/2015/2017,有一个扩展可以完全按照您的要求执行:ResolveUR . 这主要是做什么的:

    项目中删除了

    • 引用

    • 项目是使用msbuild编译的

    • 检查构建错误
      如果存在构建错误,则

    • 恢复已删除的引用 .

  • 3

    在Visual Studio 2013中,此扩展程序有效:ResolveUR

  • 48

    有人建议使用一个很棒的工具 - Reference Assistant for 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)在文本编辑器中解压缩并打开 extension.vsixmanifest 文件

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

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

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

    7)安装并享受:)

    我已经用VS2013测试了它,感谢source的教程

    EDIT 添加以支持VS 2015社区版

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

    Meaning of the brackets

    [ – minimum version inclusive.
    
    ] – maximum version inclusive. 
    
    ( – minimum version exclusive. 
    
    ) – maximum version exclusive.
    
  • 0

    您可以使用Visual Studio扩展库中的Reference Assistant extension .

    已使用并适用于Visual Studio 2010 .

  • -12

    使用Visual Studio版本2017和2015,您可以使用代码映射功能执行此操作,但此功能仅适用于 Enterprise Edition ,而不是 CommunityProfessional 版本 .

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

    enter image description here

  • 12

    你需要的只是石头和裸露的关节,然后你可以像穴居人一样做 .

    • 删除未使用的命名空间(对于每个类)

    • 运行Debug构建

    • 将可执行文件和剩余的命名空间引用复制到新位置

    • 运行可执行文件

    • 将发生缺少参考DLL错误

    • 从Debug文件夹中复制所需的DLL

    • 重复4-6

    • 顾谷嘎嘎?

    • 扔石头

    您还可以依靠构建工具来了解仍需要哪个引用 . 这是VS 2017的时代,穴居人仍然存活下来 .

  • 26

    使用DevExpress,我按照以下说明操作:

    • 在VS中,转到DevExpress - 编辑器 - 代码清理 . 在“规则”下,选中'Remove unused namespace references' . 单击确定 .

    • 右键单击解决方案,然后选择'Code Cleanup' . 清理运行几分钟,然后结束 .

    • 构建您的应用程序

  • 26

    以下方法不依赖于任何“附加组件”,并且不是很痛苦 .

    逐步浏览每个源文件和

    • 全选(Ctrl-A)

    • 切换轮廓扩展(Ctrl-M,M) . 这会将文件减少到两行 .

    • 单击命名空间's ' '. This will show each of the file'的类作为一行 . 扫描每个类的引用计数,查找未引用的类 .

    • 点击每个类' ' '. This will show each of the class functions as a single line. Scan each function'的引用计数,寻找未引用的功能 .

    扫描每个文件寻找'0参考'只需要一秒钟 .

    扫描整个项目只需几分钟 .

  • 17

    在VB2008中,它以这种方式工作:

    Project>Add References
    

    然后单击“最近”选项卡,您可以在其中查看最近使用的参考列表 . 找到你不想要的那个并删除它 . 然后你关闭而不添加任何东西 .

相关问题