winston 发表于 2009-8-15 16:59:17

解决“当前不会命中断点。源代码与原始版本不同”的问题

看完网上的资料,我哭笑不得。按一个网友的评论:“你看微软的提示,你永远都不知道问题真正发生在什么地方。”我以往也是MS的信徒,但是逐渐开始慢慢的反对了。我认为MS很多产品的问题,完全是理念的混乱或者错误。


下面是一些汇总:
1、
今天在Visual Studio 2005中调试某个程序时遇到一个奇怪问题
就是在某个源文件中设置的断点老是无效,提示“当前不会命中断点。源代码与原始版本不同”信息
清理项目、重编项目、重新拷贝原文件都解决不了问题
“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾。
另外通过重新格式化出问题的源文件亦可以解决,即在VS2005中选择 “编辑”-“高级”-“设置选定内容的格式”。

2、发现格式化也不管用了-_-!
补充一下在网上发现解决方法: 将出问题的文件用notepad打开,然后另存为Unicode编码,就可以解决!
3、解决方法。。
分析原因,个人觉得是:
项目生成的(即OBJ文件夹,存着两种版本)与临时生成 (Temporary ASP.NET Files目录下)不一致,,
之前我用了上述的方面不能解决。把两个目录的文件删除之后,正常了。
4、如果还是不行,那就是终极解决办法了:重命名文件!如果是由同一项目中存在多个相同文件名的页面文件及相应CS文件造成“当前不会命中断点。源代码与原始版本不同”错误,可以在VS2005解决方案资源管理器里,右键该文件并重命名成新的文件名。
5、重新生成一下解决方案就好用


6、这个问题的解决方法网上实在太多了。我在这里就不多说了。
    但是网上的方法却没能解决我的问题,花了一个早上的时间,终于自己找到了问题所在,希望对那些有和我一样困惑的兄弟有所帮助。
    错误提示 同样是:”当前不会命中断点。源代码与原始版本不同“,错误的原因,我的A项目是启动项目,B项目和A项目在同一个解决方案中,且A项目需要调用B项目,可是B项目的代码改变后断点调试就不行,提示::”当前不会命中断点。源代码与原始版本不同“,最后发现是A的依赖项里没有B项目了。原本VS是会自动加的,可能是文件被我手动修改过的原因,导致了B在A的依赖选项丢掉了。右键单击A项目,然后选择依赖项,把B项目重新勾上,一切OK。

7、使用Visual Studio 2005时不止一次的遇到“当前不会命中断点。源代码与原始版本不同”的问题,
可尝试一下几种方法解决:
<1>.将“工具”,“选项”,“调试”,“要求源文件与原始版本完成匹配”去掉勾 或者设置该断点。

<2>.重新格式化出问题的源文件亦可以解决,即在VS2005中选择 “编辑”-“高级”-“设置选定内容的格式”。

<3>.将出问题的文件用notepad打开,然后另存为Unicode编码,就可以解决!

ztenv 发表于 2011-3-15 11:45:08

挺好的,我也遇到过,不过重启一下vs就解决了,可能遇到的问题和你不太一样;

dynasty_ding 发表于 2011-5-23 16:51:19

一般比较终极的办法是
删除该文件,编译,当然不通过,然后重新加入到项目。OK
页: [1]
查看完整版本: 解决“当前不会命中断点。源代码与原始版本不同”的问题