在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
对于VS Code用户:
如果在尝试调试ASP . net Core应用程序时遇到此问题,请确保在tasks中定义构建任务。json,并且您可以在调试控制台窗格中看到其输出,则成功运行。
在启动中定义的调试配置。引用此任务的Json将出于某种原因(至少在某些情况下)继续执行定义的二进制文件,即使构建任务失败,并且由于构建任务失败,该二进制文件将成为最后一个成功构建的程序集。
其他回答
如果您在调试构建配置中未选中DLL项目,那么您的新代码将永远无法构建!
转到构建—>配置管理器…(在VS2010中),并检查您正在尝试调试的代码的项目是否为当前构建配置进行了检查。
对我来说,那是在做一个网站项目的时候。在清理了这些临时文件夹后,我得到了正确的编译器错误:
C:\Documents and Settings\ %username%\AppData\Local\Temp\临时 ASP。网络文件 C: \ windows \ Microsoft.NET \ Framework \ v4.0.30319 \临时ASP。网 文件
我最终解决了这个问题,当我发现一个类文件,我故意移动到一个子文件夹,以某种方式重新出现在根文件夹。当我在编辑另一个的时候,VS用了那个。
对我来说,没有一个项目能解决这个问题。我只是在函数中添加了一行新代码,类似于:
int a=0;
通过添加这个,我想我触发了visual studio在原始版本中添加这个功能
当调试期间或调试会话之间的系统时间发生变化时,可能会发生这种情况,无论是通过编程方式、手动方式还是通过外部程序。
我只是重新装填,清理和重建我的作品。