在此之前,我会首先说我现在一直在寻找解决这个问题的方法一小时。有很多相同的问题,但没有一个解决方案可以帮助我。
我正在尝试调试一个小项目。当我开始研究这个项目时,我可以在任何我想要的地方放置断点,然后我会打它们。但由于某种原因,现在当我将断点放在主程序之外时(例如在类定义中),断点在代码运行时被挖空,我得到一条消息,说源代码与原始版本不同。
这让我相信它正在运行以前的构建,所以我通过让代码输出一些随机字母“dajfhdjhfds”来做出明显的改变;
像往常一样点击 F7 。收到一条消息Build: 1 succeeded
。按 F5 ,程序运行但不显示随机字母。
我清理我的解决方案,然后构建并显示更改。我'重建'解决方案,变化显示。断点也有效。
但是如果我进行进一步的更改,断点将停止工作,并且更改不会出现在程序中。 Visual Studio始终运行旧代码。每次我想调试新代码时,我都不想清理我的解决方案。
我重置了我的设置,我在配置管理器中检查了“build”,我甚至启动了一个全新的项目并将我的代码复制到新文件中。同样的问题。
答案 0 :(得分:1)
问题在于我将原始项目中的代码复制到其他地方保存的全新项目中。当我尝试在新位置构建项目时,它总是在旧位置构建它(因为我将代码直接复制到全新文件中,因此很奇怪)。
当我尝试运行文件时,它会在新位置查找构建的代码。因此它总是会过时的代码。
可以通过将新代码放回旧位置来解决问题!
谢谢大家
答案 1 :(得分:1)
我也遇到过这个问题,使用WinForms。我正在添加消息框以测试代码并且没有发生任何事情,只有预先存在的消息框才有效。我不确定'确切'是如何修复它的,但是点击“Build”菜单下的“Build Solution”,“Rebuild Solution”,“Clean Solution”和“Build(program name)”后,问题就消失了。与以前的问题不同,我没有在解决方案之间复制+粘贴任何代码。
答案 2 :(得分:0)
我开始遇到一个相同的问题,我认为这一切都是在我以新名称重新创建项目时开始的。 也就是说,我不得不复制一切。 问题是我不知道什么不能完全复制,现在负责要求重建以获得我的代码更改。在文本编辑器中检查解决方案和项目文件,没有旧文件夹结构的迹象。