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

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


当前回答

也许dll是从GAC加载的。

您可以从gac卸载dll,需要管理员权限。

gacutil -u YourDll

其他回答

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

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

我只是重新装填,清理和重建我的作品。

从Visual Studio 2017 15.3.1到15.3.5,出现了解决此问题的新方法。如果您正在使用EditorConfig,则charset=utf8选项会导致这些症状。VS团队已经复制了这个,并表示他们正在努力。

因此,一个修复方法是注释掉.editorconfig文件中的charset=utf8行。

编辑:这应该在VS 15.5被修复。

帮助我的步骤(VS Community 2017, 15.9.11)。

请注意,执行以下步骤后将丢失断点。

右键单击类文件 选择排除 项目 右键单击该项目 选择“添加和现有文件” 导航到选择相关的类文件