这种情况经常发生在我身上。当我在Visual Studio 2010中工作并说我进行了代码更改,然后构建...我的现有断点都被禁用/和/或无法设置,我也无法设置新的断点。有人有解决方案吗?这很烦人。到目前为止,我能够解决这个问题的唯一方法是重新启动Visual Studio,这可能需要5到8分钟来重新编制所有内容,或尝试在我的解决方案中重建单个项目。我的解决方案由几个构成整个程序的DLL组成。
答案 0 :(得分:1)
检查项目中是否正确设置了依赖项。我知道如果代码“过时”,我的断点将被禁用。如果您没有正确设置依赖项,那么当重建更新的代码时,它将不会重建所有相关代码,这将使这些模块“过时”。
由于这是VS 2010,因此项目中的依赖项不在解决方案上(您可以添加解决方案依赖项,但项目依赖项将延续到新的解决方案中,因此在可能的情况下这是更好的方法)。
答案 1 :(得分:1)
将Configuration Manager设置设置为“发布”而非“调试”时,会导致此问题。
在Visual Studios中,从菜单中选择Build,然后选择Configuration Manager。
在下一个对话框中选择您的项目,然后找到左上角附近的标题为“Active solution configuration:”的下拉菜单,确保将其设置为Debug。
这应该解决问题。
答案 2 :(得分:0)
事实证明,post.build文件包含许多条件,无论它是否应该将多个DLL复制到目标目录......由于我没有时间通过xml选择这些操作,我只是使用了bash脚本在构建后复制文件。不需要变得复杂......否则,正式的解决方案涉及设置允许在编译之后覆盖/复制DLL的条件。
我发现Visual Studio post.build文件的概念有点过分,因为最终它是否会用新编译的版本覆盖dll会有什么不同,但是,如果你进行代码更改,编译,它就不会复制到目标目录,你最终运行你的应用程序与过期的DLL,你没有测试最近的代码更改..!其他人甚至已经使用xml和goto语句实现了post.build文件...!将它留给微软使构建和复杂化复杂化调试过程...
答案 3 :(得分:0)
或者,如果您的代码处于版本控制之下,请通过检查头版本重新启动,再执行一次清理并重建并再次开始调试。
这无论出于何种原因使我能够再次在我的VS 2010 C#项目中插入断点,而没有任何关于属性,配置等的漏洞摆脱了我的幻像断点问题。
答案 4 :(得分:-1)
我找到的最佳解决方案是退出我的Windows工作并获得另一份作为Mac Developer的工作,我们使用Xcode。真是太大的不同了!我肯定还没有看到断点问题。!