在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。

这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?


当前回答

首先,我尝试从命令行;

从命令行删除临时文件确实有效。

C:\Windows\ Microsoft.NET \ Framework64 \ v4.0.30319 \临时ASP。>rd /s root . NET文件

当我在工具->选项->调试->通用中禁用“启用只是我的代码”选项时

这个问题为我解决了。这是一个WCF应用程序,试图调试一个ashx页面。 http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code.aspx

其他回答

在我的例子中,我忘记在我声明模板函数的头文件中包含“stdafx.h”。

工具 选项 调试 一般

取消选中“要求源文件与原始版本完全匹配”

你做过这种事吗?

是否继续运行最后一个成功的构建?

如果您勾选了方框并按下“是”,即使您的项目没有编译,您也将成功运行最后一个构建。这意味着无论何时设置断点,都将得到该错误。

试着改变这个值:

工具 选项 项目和解决方案 构建并运行 在运行时,发生构建或部署错误时:不启动

尝试在运行调试模式时禁用和重新设置断点,而不是在启动调试模式之前禁用和重新设置断点。

我刚刚重启电脑,它为我工作得很好。