在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
在“解决方案配置”中选择“调试”,而不是“发布”
其他回答
也许dll是从GAC加载的。
您可以从gac卸载dll,需要管理员权限。
gacutil -u YourDll
对我来说,解决方案隐藏在项目属性的高级构建设置中:
由于未知的原因,它被设置为none:将其设置为full会导致命中断点。
要进入此对话框,请打开项目属性,然后转到构建,然后选择高级…按钮在页面底部。
有意地中断构建,这意味着在项目中添加一些调试时不同步的任意文本。尝试调试并接收异常。现在修复异常并调试项目。
有时您只需要将解决方案配置从“发布”更改为“调试”。
尽管所有的答案,我的问题实际上不同于这里提到的!
确保您的属性->构建选项卡->输出路径指向与您所选择的构建配置的解决方案中所有其他项目相同的位置!
如果你的启动项目将它的可执行文件从你试图调试的dll发送到不同的文件夹,你可能会遇到问题,尽管你的构建和visual studio工作完美。