asp.net 编译时,报错“源文件与模块生成时的文件不同”!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net 编译时,报错“源文件与模块生成时的文件不同”!相关的知识,希望对你有一定的参考价值。

网上很多人要选择“允许源文件与模块生成文件不同”。我直接晕倒,这种治标不治本的方法真是不可取!但是微软确实让人头疼,很难琢磨到它到底是为什么!看了网上的很多解释,试过很多,大多数是不管用的~

本人觉得采取下面3的解决的办法比较稳妥!首先根源在于确实生成的与源文件不同,然后不除根源是解决不了问题的。所以将...../Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/下的所有临时文件全部删除然后把解决方案重新生成一遍。其实这个解决办法也不能治根

下面是网上的一些汇总:
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编码,就可以解决!
我也遇到过这个问题,参考<1>把问题解决了
参考资料:http://blog.csdn.net/woaizhoulichao1/article/details/6313173
参考技术A ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户提供尽可能最编译(是指将源文件翻译成电脑可以读懂的二进制的语言)前的程序文件。 29

电脑突然死机,编译报错dll缺少依赖项

由于ASP.NET缓存没更新的问题(我的就是这个问题。电脑突然死机导致的)。

 把这个文件夹下的文件所有删除C:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files,又一次编译生成就没问题了。


以上是关于asp.net 编译时,报错“源文件与模块生成时的文件不同”!的主要内容,如果未能解决你的问题,请参考以下文章

源文件与模块生成时的文件不同。仍要让调试器使用它吗?

预编译的 asp.net 网站报错

ASP.NET编译成功后,为啥有些功能不会执行?麻烦高手解答!

编译 asp.NET 应用程序时出错

理解 ASP.NET 预编译

iis发布asp.net 网站时老报错 找不到网页