获取“源文件与模块构建时不同。”

我正在尝试调试我收到的ASP.Net Web项目。 我修改了"Apps_LocalResources"文件夹中的一个类。

当我调试并且代码试图进入该类时,我得到了

“源文件与模块构建时不同。”

我重建了解决方案并没有得到任何改变。 我甚至将它发布到不同的位置,bin文件夹中的pdb和dll没有改变,所以我没有复制它们。

想法?

如果您要附加到asp.net工作进程,则终止进程,启动网站并重新连接调试器。

如果您使用的是内置Web服务器,请确保停止项目以及与之关联的WebDev.WebServer.Exe。

如果所有其他方法都失败,请右键单击断点并选择位置。 然后启用底部的“允许代码不同…”复选框。

只需从应用程序根目录中删除Obj文件并重建即可

删除(4ex)下的文件夹根目录:C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root

然后在VS2005中:工具 – >选项 – >调试 – >常规并取消选中要求源文件与原始版本完全匹配

这是我的解决方案。

单击解决方案资源管理器中的刷新按钮。 这解决了我的问题。

编辑2013年7月8日:还要检查项目之间是否没有相同dll的多个版本。 如果这样做,请将最新的一个保留在项目解决方案中,其余的保留在项目范围之外的文件夹中。 我建议您有一个Libraries文件夹来放置所有的dll,因此您没有多个文件夹中的dll。

对于我的情况,我依赖项目文件使用try catch。 它抛出exception,因此文件无法更新。 当避免exception时它工作正常。

说你引用了一个.dll,它是由你正在修改的主项目构建的。

如果你的Reference被设置为.dll文件,那是由Release -Configuration构建的(.dll的引用路径就像bin \ Release \ YOURDLL.dll那样 ),检查你是否真的在构建副项目使用配置管理器中的Release -configuration。

配置管理员

此外,确保您的项目依赖项和构建顺序设置正确,因此主项目所依赖的侧项目将在主项目构建之前新建。

项目依赖项和构建顺序

重新启动Visual Studio对我有用。