在主题中,我在 Visual Studio 2010 Ultimate 的上下文菜单中找不到“解决”。我在互联网上的老师电脑上看到过它,但我在上下文菜单中找不到它,请查看屏幕。如何得到它?
3 回答
为了显示“解决”菜单,您必须定位在 VS 认为它能够解决的关键字上。如果您输入错误的关键字或没有引用程序集,VS 将无法解决任何问题。
如果您考虑一下,您可以在代码中键入任何合法关键字,并且可能在某处可能包含该类的程序集,并且如果您引用了该程序集,则您的关键字将是可解析的。由于 VS 不仅不可能知道,而且还需要更改项目才能引用该程序集,因此超出“解决”对话框的范围是有道理的。
如果您想看到它的实际效果,只需创建一行代码,其中缺少一个类:
namespace ResolveTest
{
class Program
{
static void Main(string[] args)
{
OtherClass.OtherMethod();
}
}
}
请注意,OtherClass 已被标记,因为它无法找到。如果您右键单击它,则没有 Resolve。
现在,添加一个类定义(在另一个命名空间中):
namespace NotInTheSameSpace
{
public class OtherClass
{
public static void OtherMethod()
{
}
}
}
通常,这将完全位于另一个文件或另一个程序集中,但出于演示目的,您可以将其放在现有代码的正下方。您现在应该会在 Main() 中看到“解决”菜单。
我相信你在这里看到的另一件事是,当“解决”对话框没有任何要解决的问题时,它会从上下文菜单中丢失,而不是被禁用但可见。这可能看起来有点令人困惑,但它确实是保持上下文菜单与您当前上下文相关的努力。
输入File.Open("Test.txt");
然后单击File
en 看看你是否可以找到解决方案。应该可以解决System.IO.File
。
为了记录,你打开了一个函数的上下文菜单。一个函数不能只解析类型。因此,您可以改为键入:Debug
然后打开上下文菜单并将其解析为System.Diagnostics
. 然后你可以调用该WriteLine
函数。
所以除了你的问题,你需要System.Diagnostics.Debug.WriteLine(object)
而不是System.Diagnostics.Debugger.WriteLine
which 不存在。
长镜头 - 也许你写错了函数的名称。所以VS就是不能为你解决?
如果不是,则 resolve 仅Using
在文件开头添加语句以解决问题。为此,您的项目必须正确引用具有该功能的库。您可以使用“解决方案资源管理器”(所附图片中的右侧菜单)并在项目下您有“参考”选项卡,确保它在那里,如果没有右键单击并“添加参考...”