源文件与构建模块时不同

fru*_*der 98 c# visual-studio-2008

这真让我抓狂.

我有一个相当大的项目,我试图修改.我之前注意到,当我输入时DbCommand,visual studio没有对它进行任何语法高亮,我正在使用System.Data.Common.

即使没有突出显示,该项目似乎在我的浏览器中正常运行.所以我决定运行调试器来查看事情是否真的有效.

每次调用没有突出显示的类时,我都会收到"the source file is different from when the module was built"消息.

我清理了解决方案并重建了几次,删除了tmp文件,按照此处的所有说明获取"源文件与模块构建时不同".,重新启动Web服务器,它仍然告诉我源文件是不同的,当他们显然不是.

因为这个原因,我无法测试我今天编写的任何代码.

  • 当我刚刚编译它时,源如何与二进制文件不同?
  • 有没有什么方法可以将某种感觉转化为视觉工作室,或者我只是缺少某些东西?

小智 107

我在运行控制台应用程序时出现此问题,其中不同的源是具有入口点的源(静态void Main).删除bin和obj目录并进行完全重建似乎纠正了这一点,但每次我更改代码时,它都会再次过时.

我找到的原因是:

  1. 我检查了"仅在运行时构建启动项目和依赖项"(工具 - >选项 - >项目和解决方案 - >构建和运行)
  2. 在Configuration Manager中,我的启动项目没有选中"Build"

(对于#2 - >可通过'Debug/Release'下拉列表下的工具栏访问.)

  • +1删除obj和bin为我工作 (7认同)
  • 配置管理器提示+1.我一直试图将它排除一小时,就是这样. (7认同)
  • +1取消选中"Only build ..."为我工作 (4认同)

小智 23

我只是遇到同样的问题,我的项目都在同一个解决方案中,所以他们使用Project to Project引用,所以当一个更改时,其他项目应该已经更新.然而情况并非如此,我试图构建,重建,关闭VS2010,从源代码控制中提取新副本.这些都不起作用,我最终尝试的是右击项目并单独重建每个项目.这更新了.dlls和.pdb文件,以便我可以通过调试.

这里的问题是你的dll和/或你的pdb文件不同步.

  • 你没有直接提到,但“卸载项目”(重新加载)对我有用,谢谢。 (2认同)

小智 5

跟着这些步骤

  1. 只需从生成DLL的项目中删除bin目录即可.
  2. 重建项目.
  3. 从项目中删除引用DLL的引用.
  4. 再次包括参考.
  5. 请享用.


Chr*_*isF 4

有些事情需要您检查:

您是否仔细检查过您的项目参考资料?

您是否有 Visual Studio 启动的 Web 服务器仍在运行?检查系统托盘并查找带有齿轮图标的页面(您可能有多个):

替代文本
(来源:msdn.com

右键单击并关闭/退出它。您可能有不止一个。您现在可以调试您的更改吗?

您是否正在运行调试版本但只构建了发布版本(反之亦然)?

真的编译成功了吗?我知道我已经点击了“出现错误,是否仍要继续?” 不知不觉中发了几次消息。