在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
这也发生在调试一个c++项目时,该项目加载了一个用一些CLR语言(Managed c++, c#等)实现的模块。在这种情况下,错误消息确实具有误导性。
解决方案是将公共语言运行库(CLR)支持配置属性放入启动项目并重新编译它。
其他回答
尝试在运行调试模式时禁用和重新设置断点,而不是在启动调试模式之前禁用和重新设置断点。
去
工具 选项 调试 一般
取消选中“要求源文件与原始版本完全匹配”
我在VSCode中遇到了这个问题,问题是我在编辑器中看到的文件与项目正在构建的文件的副本不相同。我将一个c#库的存储库克隆到两个位置,一个在编辑器中打开,另一个由项目链接。如果清洁建筑不适合你,请检查你在编辑器中查看的文件副本是否正确!
在Windows 7、Visual Studio Express 2010下,如果已激活选项“为Windows XP SP3使用兼容性模式”,则可能会出现此错误。
我取消了这个选项,它再次完美地工作了。右键单击VS或可执行文件的快捷方式,选择属性,然后选择兼容性。
对我来说;我的网站在默认网站(http://localhost/myapp/)下的IIS应用程序中运行,并且IIS应用程序的映射指向的磁盘路径与我正在处理的源代码不同。
解决;重新映射您的IIS应用程序到与您正在构建的源代码相同的路径。
(如果您在磁盘的不同位置运行同一个应用程序的多个版本,就会发生这种情况)