VS无法显示变量信息

时间:2015-10-20 12:04:06

标签: c# visual-studio-2010

我有一些任意代码。例如以下内容:

class MyClass
{
    private MyClass() { }
    public static readonly MyClass Instance = new MyClass();
    public Hashtable DoSomething() {return new Hashtable {{"key", "value"}};}
}

var test = MyClass.Instance.DoSomething();

现在调试和悬停test intellisense时根本没有显示任何内容。同时向变量添加监视也不起作用。而是消息

  

当前上下文中不存在名称'test'

出现。我已经重建了解决方案,关闭VS并重新打开它。但是,当不调试时,我会在intellisense中获得该变量的类型信息。

注意:不幸的是,上面的代码在我的测试解决方案中有效,但是实际的代码要复杂得多。我已经尝试尽可能地简化这一点,假设一些downvotes,因为错误很难再现。但是也许有人在VS上遇到过类似的问题。

编辑:在项目设置中禁用代码优化(属性 - >构建 - >优化代码)

1 个答案:

答案 0 :(得分:1)

编译器最有可能优化变量,因为它从不在本地使用。

以任何方式使用该变量来规避这一点:

     var test = MyClass.Instance.DoSomething();
     Debug.WriteLine(test); // <=== Set breakpoint here

我不是百分百肯定,但我认为优化也会影响到这一点。所以,如果你有这些问题,请关闭它们。