Visual Studio不允许MVC视图中的断点

lev*_*nja 8 debugging asp.net-mvc breakpoints visual-studio visual-studio-2012

有时,Visual Studio不允许我在MVC视图中设置断点.这种情况发生在我身上很多次,但并不是每个观点都会发生,我不知道为什么.

当您单击左侧栏以放置断点时,它会放置一个白色圆圈而不是正常的红色圆圈.将鼠标悬停在其上的消息是"断点当前不会被命中.源代码与原始版本不同." 它继续描述如何允许断点被击中,但这会产生奇怪的结果,我不希望这样.

如果错误是正确的,那么我想运行原始源代码.我不知道VS幕后发生了什么事; 我尝试重建所有这些,但它没有帮助.我在VS 2012中以调试模式运行.

尝试在vs 2012 MVC剃刀视图中放置断点的屏幕截图

Kir*_*rst 9

这可能是由许多事情造成的,但有几件事要检查我最近帮助过的人:

  • 第一步:DLL旁边必须有一个PDB文件才能启用调试.(请参阅:什么是PDB文件?)确保在执行目录中有PDB.

  • 清除以从bin文件夹中删除所有旧DLL.

  • 确保您的应用程序正在运行当前代码的构建(与Visual Studio中的版本相同).不要以为只是因为你点击了"构建"或"部署".如果未检测到任何更改,则通常不会发生任何事情.检查程序集的构建时间,或更改某些内容并重建以查看文件大小更改.

  • 如果您正在运行与Web相关的内容,请确保浏览器不缓存代码,或者IIS没有长时间运行的进程.

  • 杀死任何正在运行的Visual Studio Development Server实例(您可以从任务管理器执行此操作,或者更简单地从系统托盘执行此操作 - 它们看起来像IE徽标,当您将鼠标悬停在它们上面时,它们会告诉您它们运行的​​端口).

  • 使用iisreset命令提示符重新启动IIS .

  • 检查Visual Studio中的调试设置(Tools > Options > Debugging > Symbols)您希望自动加载符号,如果要链接其他程序集,则需要在此处引用其PDB文件.