解决VS2013调试ASP.NET中无法调试的问题:当前不会命中断点。在 XXXX.dll 中找到了 XXX.cs 的副本,但是当前源代码与 XXXX.dll 中内置的版本不同。

解决思路:

一定是在某个文件夹存在了副本,结果果然不出所料。

当前日期是2016年3月10日,But

C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files ootfd1302ff6f7481f8assemblydl3831cbe7ca10a72a2_8c7ad101XXXX.DLL  2016年3月4日 

C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files ootfd1302ff6f7481f8assemblydl3831cbe7ca10a72a2_8c7ad101XXXX.DLL  2016年3月9日

C:WindowsMicrosoft.NETFrameworkv4.0.30319Temporary ASP.NET Files ootfd1302ff6f7481f8assemblydl3831cbe7ca10a72a2_8c7ad101XXXX.DLL  2016年3月10日

这里明白了吧,是微软的Framework产生的缓存文件导致的,删除掉3月4日的和3月9日的,跑起来,可以断点调试了。

注:红色的是系统随机产生的文件夹,文件要全局搜才能搞定。

产生此问题的原因在于:

网站的源代码有一次调试以后,又更换了其他目录,结果调试就会出现这个问题。说白了就是每次调试都会扔到缓存里面。