【问题标题】:How I can know which using-directives are missed?我如何知道遗漏了哪些使用指令?
【发布时间】:2014-09-15 12:51:58
【问题描述】:

如果缺少 using-directives,Visual Studio 是否有可能告诉我 which using-directives are missing?

如果是,我可以将我的 Visual Studio 配置为自动设置缺少的 using 指令吗?

Visual Studio 仅在错误列表中告诉我错过了 任何 使用指令,但我想知道错过了 哪个

【问题讨论】:

  • 如果你有一个需要using指令的类型,那么你应该在提示你添加这个指令的类型下获得一个智能菜单 .另一个对此有好处的工具是 ReSharper
  • 我用右键解决...
  • @VDohnal - 与Ctrl+.相同
  • @VDohnal- 但这也取决于您设置的快捷方式

标签: c# visual-studio visual-studio-2012 using using-directives


【解决方案1】:

Visual Studio 无法知道缺少什么 using 指令,它只能猜测。同一个类型名称可以出现在多个命名空间和程序集中。

当它猜测时,它将查找您正在使用的类型并搜索引用的程序集以查找该类型。 (Resharper 等工具可以猜得更好/更多)

如果编辑器在类型下方显示一个蓝色矩形:

,将光标放在类型名称上并按Shift+Alt+F10Ctrl+. ( View.ShowSmartTag 的快捷方式)和一个弹出窗口将允许您从猜测中进行选择。当然,您可以右键单击类型并使用上下文菜单的 Resolve 或尝试单击蓝色矩形(RSI 风险)。

如果没有引用程序集,您需要先设置引用。这意味着您需要找出包含您要使用的类型的程序集。如果它是来自 .NET Framework 的类型,您可以使用 MSDN;在包含该类型的页面上,它将显示该类型所在的程序集和命名空间。

例如:

IEnumerable 接口

.NET 框架 4.5

公开枚举器,它支持简单的 对指定类型的集合进行迭代。浏览 .NET 此类型的框架源代码,请参见参考源代码。

命名空间:System.Collections.Generic

程序集:mscorlib(在 mscorlib.dll 中)

【讨论】:

  • Ctrl + .不工作?但是右键单击 -> 解决!
  • @user3347346 - 您可能有不同的快捷方式设置。检查选项中的快捷方式。
【解决方案2】:

如果缺少 using 指令,Visual Studio 是否有可能 说我错过了哪些使用指令?


我可以将我的 Visual Studio 配置为自动设置缺失的 使用指令?


Visual Studio 在错误列表中只告诉我任何使用指令 错过了,但我想知道错过了什么?

在某些情况下,项目引用下已存在所需的程序集引用,但类中可能缺少 using 语句。这很容易,因为您可以找到出现构建错误的行,然后右键单击该类,然后去解决并选择相关的 using 语句。

在某些情况下,您可能没有将所需的程序集引用添加到项目中(特别是当您从其他地方复制粘贴代码时)。首先,您需要找出需要添加的 .NET 程序集引用。在 MSDN 相关页面中搜索 .net 类名称将包含该类所在的 .NET 程序集的信息,添加特定程序集引用然后按照上面给出的第一步进行操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2013-01-02
    • 2021-01-18
    • 2018-11-29
    相关资源
    最近更新 更多