我正在尝试调试我收到的 ASP.Net Web 项目。我修改了
"Apps_LocalResources"
文件夹中的一个类。
当我调试并且代码尝试进入该类时,我得到
“源文件与模块构建时不同。”。
我重建了解决方案,但没有得到任何改变。我什至将它发布到不同的位置,bin 文件夹中的 pdb 和 dll 没有改变,所以我没有复制它们。
想法?
只需从应用程序根目录中删除 Obj 文件并重建
如果您要附加到 asp.net 工作进程,请终止该进程,启动网站并重新附加调试器。
如果您使用内置的 Web 服务器,请确保停止该项目以及与其关联的 WebDev.WebServer.Exe。
如果所有其他方法都失败,请右键单击断点并选择位置。然后启用底部的“允许代码不同...”复选框。
删除(4ex)下的文件夹根目录: C:\Windows\Microsoft.NET\Framework 2.0.50727\临时 ASP.NET 文件 哦
然后在VS2005中: 工具->选项->调试->常规并取消选中要求源文件与原始版本完全匹配
这就是我的解决方案。
单击解决方案资源管理器中的刷新按钮。这为我解决了这个问题。
2013 年 7 月 8 日编辑: 另请检查项目之间是否存在同一 dll 的多个版本。如果这样做,请将最新的解决方案保留在项目解决方案中,并将其余的保留在项目范围之外的文件夹中。我确实建议您有一个 Libraries 文件夹来放置所有 dll,这样您就不会在多个文件夹中包含 dll。
对于我的情况,我使用 try catch 依赖项目文件。它抛出异常,因此文件无法更新。当避免异常时,它工作得很好。
假设您正在引用一个 .dll,它是由您与主项目一起修改的副项目构建的。
如果您的引用设置为由 Release 配置构建的 .dll 文件(.dll 的引用路径类似于 bin\Release\YOURDLL.dll),请检查您是否使用配置管理器中的
Release
配置真正构建副项目。
此外,请确保您的项目依赖项和构建顺序设置正确,以便您的主项目所依赖的副项目将在您的主项目构建之前重新构建。
重新启动 Visual Studio 对我有用。