有时,Visual Studio不允许我在MVC视图中设置断点.这种情况发生在我身上很多次,但并不是每个观点都会发生,我不知道为什么.
当您单击左侧栏以放置断点时,它会放置一个白色圆圈而不是正常的红色圆圈.将鼠标悬停在其上的消息是“断点当前不会被命中.源代码与原始版本不同.”它继续描述如何允许断点被击中,但这会产生奇怪的结果,我不希望这样.
如果错误是正确的,那么我想运行原始源代码.我不知道VS幕后发生了什么事;我尝试重建所有这些,但它没有帮助.我在VS 2012中以调试模式运行.
解决方法
这可能是由许多事情引起的,但有几件事要检查我最近帮助过的人:
>第一步:DLL旁边必须有一个PDB文件才能启用调试. (请参阅:What is a PDB file?)确保在执行目录中有PDB.>清除以从bin文件夹中删除所有旧DLL.>确保您的应用程序正在运行当前代码的构建(与Visual Studio中的版本相同).不要以为只是因为你点击了“构建”或“部署”.如果未检测到任何更改,则通常不会发生任何事情.检查程序集的构建时间,或更改某些内容并重建以查看文件大小更改.>如果您正在运行与Web相关的内容,请确保浏览器不缓存代码,或者IIS没有长时间运行的进程.>杀死任何正在运行的Visual Studio Development Server实例(您可以从任务管理器执行此操作,或者更简单地从系统托盘执行此操作 – 它们看起来像IE徽标,当您将鼠标悬停在它们上面时,它们会告诉您它们运行的端口).>从命令提示符处使用iisreset重新启动IIS.>检查Visual Studio中的调试设置(工具>选项>调试>符号)您想要自动加载符号,如果您要链接其他程序集,则需要在此处引用其PDB文件.