在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
关闭Visual Studio并重新打开解决方案可以修复这个问题,即它是IDE本身的一个bug(我正在运行VS2010)。
如果有多个Visual Studio实例正在运行,则只需关闭运行有问题的解决方案的实例。
其他回答
对我有用的是将解决方案平台从x86改为Any CPU。在更改为Any后,我设置了一个停止地址,运行网站,打开页面,点击按钮,它就停止了。我关闭了网站,改回x86并成功地执行了相同的顺序。
在我的例子中,我被分配了大约120kb的base64值给静态类中的静态约束字符串字段。之后出现了这个问题。我尝试了很多解决方案,但问题没有解决,直到我把这个沉重的任务。
我的环境: MS VS Community 2017 版本15.9.16
也许dll是从GAC加载的。
您可以从gac卸载dll,需要管理员权限。
gacutil -u YourDll
我也遇到过这种情况。导致我的问题的条件:
我正在本地运行一个完整的IIS7实例 我正在把我的软件分成不同的项目
我打开以前的版本导致了这个问题(VS提示问我是否想在IIS调试中指向这个实例,我回答'是'),然后打开当前版本(再次响应IIS提示'是'),然后尝试在以前的版本中调试。
为了解决这个问题,我只是关闭并重新打开了之前的预期版本,再次将其断言为调试源。
首先,我尝试从命令行;
从命令行删除临时文件确实有效。
C:\Windows\ Microsoft.NET \ Framework64 \ v4.0.30319 \临时ASP。>rd /s root . NET文件
当我在工具->选项->调试->通用中禁用“启用只是我的代码”选项时
这个问题为我解决了。这是一个WCF应用程序,试图调试一个ashx页面。 http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code.aspx