在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
从Visual Studio 2017 15.3.1到15.3.5,出现了解决此问题的新方法。如果您正在使用EditorConfig,则charset=utf8选项会导致这些症状。VS团队已经复制了这个,并表示他们正在努力。
因此,一个修复方法是注释掉.editorconfig文件中的charset=utf8行。
编辑:这应该在VS 15.5被修复。
其他回答
我刚刚重启电脑,它为我工作得很好。
我在VSCode中遇到了这个问题,问题是我在编辑器中看到的文件与项目正在构建的文件的副本不相同。我将一个c#库的存储库克隆到两个位置,一个在编辑器中打开,另一个由项目链接。如果清洁建筑不适合你,请检查你在编辑器中查看的文件副本是否正确!
在我将现有文件添加到项目后,它碰巧在Visual Studio 2017上。这招对我很管用:
关闭溶液, 转到SolutionFolder\。vs\SolutionName\v15\sqlite3,删除storage.ide 再次打开解决方案
正如它所说,“源代码与原始版本不同”。
右键单击解决方案资源管理器中的项目文件夹,并选择Clean。构建项目的新版本,断点将再次工作!
我在VS2019中遇到了这个错误,我认为当Windows的时钟改变时就开始出现这个错误。