在我的大多数项目中,在调试模式下,如果我看到一个小错误,我可以在调试期间编辑代码,选择应用代码更改,然后继续。
这通常适用于大多数微小的变化。如果更改过于广泛,则会显示模块内存空间不足,或者如果更改修改了 try-catch 块,则会破坏堆栈展开,因此这些特殊情况需要重建并重新启动。但几乎任何其他东西都可以编辑和继续。
但是对于这个项目,每一个微小的变化,无论多么微不足道,我都会收到一条消息“源文件与构建模块时不同。你是否希望调试器仍然使用它。” 如果我选择是,那么我会收到一个警告,说我将要使用过时的代码。
为什么这个项目无法更新源代码以与编辑保持同步并继续更改?我是否无意中在项目设置中搞砸了?
更新
我已经尝试了这里提出的所有解决方案,但没有运气。这显然是一个常见的问题,因为关于这个主题的 SO 上和下有很多帖子。但是看起来没有人有一个可靠的解决方案,显然 VS Edit and Continue 是相当有气质的。
打开 VS 的第二个实例并加载我知道编辑和继续工作的先前项目。我重新验证它确实有效。然后我将项目属性并排放置并验证每个开关和设置完全相同。然后我将 VS 选项和设置并排放置,并验证每个设置完全相同。然而,在一个项目中编辑并继续工作,而不是在另一个项目中。