我如何知道遗漏了哪些 using 指令?

How I can know which using-directives are missed?

提问人:user3347346 提问时间:9/15/2014 最后编辑:Al Lelopathuser3347346 更新时间:9/15/2014 访问量:183

问:

如果缺少 using 指令,Visual Studio 是否有可能告诉我缺少哪些 using 指令?

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

Visual Studio 在错误列表中只告诉我缺少任何 using 指令,但我想知道错过了哪个

使用 using 指令 C# visual-studio visual-studio-2012

评论

0赞 Christian Phillips 9/15/2014
如果您的类型需要 using 指令,则应在提示您添加此指令的类型下获得一个智能菜单。另一个对此有益的工具,并突出显示您不需要的工具是 ReSharper
1赞 Vojtěch Dohnal 9/15/2014
我使用右键单击并解决...
2赞 Emond 9/15/2014
@VDohnal - 这与Ctrl+.
1赞 Emond 9/15/2014
@VDohnal- 但这也取决于您对快捷方式的设置

答:

6赞 Emond 9/15/2014 #1

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

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

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

obligatory hand drawn arrow

,将光标放在类型名称中,然后点击 ++ 或 +(View.ShowSmartTag 的快捷方式),弹出窗口将允许您从猜测中进行选择。当然,您可以右键单击类型并使用上下文菜单的“解决”,或者尝试单击蓝色矩形(RSI 风险)。ShiftAltF10Ctrl.

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

例如:

IEnumerable 接口

.NET 框架 4.5

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

命名空间: System.Collections.Generic

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

评论

0赞 user3347346 9/15/2014
Ctrl + 组合键。不起作用?但是右键单击 -> Resolve 可以!
1赞 Emond 9/15/2014
@user3347346 - 您可能有不同的快捷方式设置。在选项中检查快捷方式。
0赞 Kurubaran 9/15/2014 #2

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


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


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

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

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