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

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


当前回答

正如它所说,“源代码与原始版本不同”。

右键单击解决方案资源管理器中的项目文件夹,并选择Clean。构建项目的新版本,断点将再次工作!

其他回答

我在使用本地IIS而不是IIS express时遇到了这个问题。IIS中的文件源确实与Visual Studio中的文件源相匹配,但是,我不得不在IIS中回收应用程序池,以便让它使用新构建的dll。

对于一个类似的问题,我做了如下处理:

取消选中Debug -> option -> General菜单中的“Enable Just My Code”选项

有时您只需要将解决方案配置从“发布”更改为“调试”。

工具 选项 调试 一般

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

在我的例子中,其他建议都不起作用,但是重新克隆我的存储库使这个问题消失了。