这让我发疯。
我正在尝试修改一个相当大的项目。我早些时候注意到,当我键入 DbCommand
时,visual studio 没有对其进行任何语法高亮显示,而我正在使用 System.Data.Common
。
即使没有突出显示,该项目似乎在我的浏览器中运行良好。所以我决定运行调试器,看看是否一切正常。
每次调用没有突出显示的类时,我都会收到“源文件与构建模块时不同”
消息。
我清理了解决方案并重建了几次,删除了 tmp 文件,按照此处的所有说明进行操作 Getting "The source file is different from when the module was built." ,重新启动了网络服务器,但它仍然告诉我源文件不同,而它们显然不同。
因此,我无法测试我今天编写的任何代码。
- 我刚编译的时候源怎么和二进制不一样 它?
- 有没有什么方法可以让 visual studio 具有某种意义,或者我 我只是错过了什么?
最佳答案
我在运行控制台应用程序时遇到了这个问题,其中不同的源是具有入口点 (static void Main) 的源。删除 bin 和 obj 目录并进行完全重建似乎可以纠正这个问题,但每次我更改代码时,它都会再次过时。
我找到的原因是:
- 我勾选了“仅在运行时构建启动项目和依赖项”(工具 -> 选项 -> 项目和解决方案 -> 构建并运行)
- 在 Configuration Manager 中,我的启动项目没有选中“构建”
(对于 #2 -> 可通过“调试/发布”下拉列表下的工具栏访问。)
关于c# - 源文件与构建模块时不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3087390/