VS2015:已评估表达式但变量不可用

时间:2016-04-29 21:51:56

标签: c# asp.net-mvc visual-studio visual-studio-2015 asp.net5

遇到奇怪的情况调试MVC6应用程序。

在Startup :: Configure()方法中,我对以下代码设置了一个中断:

var junk = app.ApplicationServices.GetRequiredService<IOptions<AntiforgeryOptions>>().Value.CookieName;

我正在尝试查找特定于应用的防伪Cookie名称。

表达式计算...但是当我尝试在Watch窗口中查看'junk'的值时,我收到一条错误消息,指出当前上下文中不存在'junk'。

将鼠标悬停在代码窗口中的“垃圾”上会显示......没有。就好像变量不存在一样。

OTOH,如果我在观察窗口中评估完全相同的代码,则cookie的名称将显示为结果值。

我在初次通话后添加了几行:

var junkLen = junk.Length;
var junk2 = junk;

这些执行也没有任何问题,但你无法在Watch窗口中检查它们,因为它们不存在:)。

我从未见过这样的事情。有关正在发生的事情的任何想法?

1 个答案:

答案 0 :(得分:0)

事实证明这是最近发布的VS 2015 Update 2中最近报告的错误,该错误已由最近发布的微软补丁修复。您可以在http://go.microsoft.com/fwlink/?LinkID=785969&clcid=0x409找到。

包括补丁引用的讨论位于https://connect.microsoft.com/VisualStudio/feedback/details/1038150/visual-studio-2015-debugger-doesnt-recognize-a-variable