Debugging Can';调试时看不到值
我使用的是Visual Studio 2015,当我遇到断点时,我无法获得有关变量值的任何信息Debugging Can';调试时看不到值,debugging,visual-studio-2015,Debugging,Visual Studio 2015,我使用的是Visual Studio 2015,当我遇到断点时,我无法获得有关变量值的任何信息 当鼠标悬停在变量上时,不会出现任何结果 在即时窗口或手表中,我得到: error CS0648: '' is a type not supported by the language 这一切都是突然发生的,因为它一直工作到昨天 我尝试了一些方法,包括重置所有用户设置、删除*.user文件、重新启动Visual Studio,甚至重新启动Windows 我还能试什么 更新:我已经写了一篇关于这个
- 当鼠标悬停在变量上时,不会出现任何结果
- 在即时窗口或手表中,我得到:
error CS0648: '' is a type not supported by the language
更新:我已经写了一篇关于这个问题以及如何重现它的文章。你不会相信这一点,但这似乎与我的
常量
表达式有关。删除const
并使用变量解决了问题
真奇怪。无法在简单的控制台应用程序上复制。该问题最初发生在ASP.NET5Web应用程序上
更新:请参阅my中的更多详细信息,其中还解释了如何重现该问题。我有一个变量包含CONST,一旦删除,所有类型都会显示并包含值 这是一个正在被跟踪的bug 控制台应用程序复制供参考: REPRO
Program.cs
,以反映下面的代码片段Console.WriteLine(a)之后添加一个断点代码>
a
和b
单击添加监视public void Main(string[] args)
{
const int a = 3;
int b = 4;
Console.WriteLine(a);
}
预期的
监视窗口显示变量a
和b
实际值
监视变量a
和b
的窗口值列显示:
错误CS0648:“”是该语言不支持的类型
注释
a
的值正确写入控制台const
将恢复为预期的bevahiour“”听起来很奇怪。变量的真正类型是什么?所有类型都受到影响吗?最近似乎有更多类似的问题。请看,它告诉我,对于任何类型,即使是一个简单的
字符串
。您可能以某种方式弄乱了项目引用,并导致VS加载的不是您的项目文件,而是其他版本的程序集。@Gigi您是在发布或调试模式下构建项目的吗?如果您是在发行版中构建,那么我不会惊讶于const
完全优化了,因此它的“本地”声明消失了。我可以验证。这也发生在我身上。在我的c#mvc应用程序中的ascx页面(用户控件)中,我定义了一个const并得到了这个错误。一旦我更新到var,它就会再次工作#VisualStudioBug!!!我也可以核实。此外,它似乎仅限于声明const的方法。在该方法中,“局部变量”窗口将为空,添加手表将导致CS0648。退出该方法将立即再次显示局部变量,手表也将再次显示值。拥有类级常量不会对调试器产生负面影响。