在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
在Visual Studio中调试时,有时我添加了一个断点,但它是空心的,VS说“断点目前不会被击中。”源代码与原始版本不同。”显然,这使我无法进行调试。
这条消息到底是什么意思?什么原始版本?如果我只是打开了解决方案,而没有对代码做任何更改,又怎么会有“原始版本”呢?
当前回答
对我来说,解决方案隐藏在项目属性的高级构建设置中:
由于未知的原因,它被设置为none:将其设置为full会导致命中断点。
要进入此对话框,请打开项目属性,然后转到构建,然后选择高级…按钮在页面底部。
其他回答
我的问题有点愚蠢。我有两份我的项目副本,我在visual studio中混合文件。
假设你有projectX和projectY。这些项目都包含myFile.cs。我打开projectX并编辑myFile.cs。但是这个myfile。cs属于project。(可以在visual studio中打开来自不同项目的文件)所以在这种情况下,警告说源代码将不同于原始。
我之前一直在摆弄我的csproj文件。所以在项目属性(VS 2013) > Web选项卡>服务器部分>[下拉],我有“IIS快速”选择当我以前有“本地IIS”选择。一旦我将设置修正为之前的设置,断点就可以工作了。
去
工具 选项 调试 一般
取消选中“要求源文件与原始版本完全匹配”
当调试期间或调试会话之间的系统时间发生变化时,可能会发生这种情况,无论是通过编程方式、手动方式还是通过外部程序。
至:
Tools > Options > Debugging > General > unchecked "要求源 文件与原始版本完全匹配”