Debugging Visual Studio 2012-局部变量窗口中缺少变量

Debugging Visual Studio 2012-局部变量窗口中缺少变量,debugging,visual-studio-2012,Debugging,Visual Studio 2012,我以前从未见过这种情况,也不知道是什么原因造成的 当我在下面的代码末尾放置断点时,elapsedSeconds变量未在“局部变量”窗口中列出。如果我尝试观看它,则值=“名称‘elapsedSeconds’在当前上下文中不存在”。这怎么可能 public ActionResult Index() { Stopwatch sw = Stopwatch.StartNew(); var userID = WebSecurity.GetUserId(User.Identity.Name)

我以前从未见过这种情况,也不知道是什么原因造成的

当我在下面的代码末尾放置断点时,elapsedSeconds变量未在“局部变量”窗口中列出。如果我尝试观看它,则值=“名称‘elapsedSeconds’在当前上下文中不存在”。这怎么可能

public ActionResult Index()
{
    Stopwatch sw = Stopwatch.StartNew();

    var userID = WebSecurity.GetUserId(User.Identity.Name);

    var model = ModelHelper.GetModel(userID);

    long elapsedSeconds = 0;
    elapsedSeconds = sw.ElapsedMilliseconds;

    return View(model);
}

在“项目属性”窗口中将“代码优化”属性选择为“已禁用”,以防您想查看该值。这是编译器优化过程,使得计算变量变得不必要。

我在一个Web项目中也得到了这一点。重新启动Visual Studio或此线程中的任何其他解决方案都无法解决此问题


我的解决方案是重新启动IIS。在那之后,我重建了这个项目,并开始了它,让当地人再次工作

重新构建解决方案有助于恢复可变悬停功能。

是否在发布版本中对其进行了优化,因为它没有任何效果?真糟糕。。。。为我辩护,现在是凌晨,我还没有喝咖啡。谢谢你@RichieHindle。对于任何偶然发现这个的人。。。我只需要将构建配置切换回调试。。。duh.在调试配置中禁用优化很好。在释放配置的情况下,默认为“最大化速度”