即使我在Debug配置中运行,这也是我得到的。
我得到这个的方式是启用“Just My Code”和Warn,如果启动时没有用户代码。这是我们项目最近发生的事情,我不知道我们做了什么导致这一点。但我一直无法修复它。断点不会触发,快速观察会产生奇怪的结果。
我试过谷歌搜索问题,但没有一个标准的“断点不会触发”解决方案有效。我完全没有想法。
更新:我已经检查了配置管理器,并且每个项目也都设置为Debug。
更新2 :我关闭了“启用Optimaizations”,我不再收到“您正在调试发布版本”对话框。它再次在断点处运行和停止!但是输出窗口在启动时显示:
未加载模块“Navigo.exe”的符号。
- 使用调试版本配置或禁用调试选项“启用我的代码”。
- 检查调试选项下的“符号”设置。
醇>
因此,这解决了我的主要问题,即无法再使用断点和弹出窗口。这是奇怪的,因为我认为你需要加载符号才能使断点工作。那么如果没有加载符号,断点如何工作呢?也许这只是一个坏消息?
答案 0 :(得分:91)
这也发生在我的几个项目上。我查看了我的构建设置as suggested by stuartd。但是,在我的构建设置中,“优化代码”已启用 。所以我启用了它并保存了项目。然后我取消选中它并再次保存。问题解决了。
有某种错误导致--optimize+
标志传递给调试器。在修复错误之前,启用它然后禁用它是一个简单的解决方法。
答案 1 :(得分:91)
使用Configuration Manager检查Debug配置的实际设置 - 它位于主菜单中的Build \ Configuration Manager中 - 如果它们设置为使用Release:
此外,确保项目正确定义DEBUG,并且不检查“优化代码”:
答案 2 :(得分:20)
只是想在申请更新1之后加入并说这开始发生在我身上。现有项目开始显示这一点,我可以用一个全新的项目复制它。所有配置都设置为DEBUG,不检查Optimize。踢球者是第一次运行项目(或者在一个Clean之后)正常运行,没有任何消息。停止然后重新运行项目(注意 - 项目不是重置)将显示对话框。唯一的解决方案是关闭Just My Code选项 - 这似乎是一个hack,就像它在更新1之前没有任何问题。
答案 3 :(得分:12)
如果提到的解决方案都没有帮助,请检查项目的AssemblyInfo.cs以获取显式的DebuggableAttribute应用程序。好像它会覆盖编译器的调试/发布选项。
在我的案例文件中有这一行(遗留项目,不知道它是如何到达那里的)。删除它解决了问题:
[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
答案 4 :(得分:9)
派对有点迟,但我也遇到过这个问题。适用的修复是简单清理和重建我的项目。
答案 5 :(得分:9)
选择调试>选项并取消选中Suppress JIT optimization
。这个对我有用。
答案 6 :(得分:5)
上述答案都不适合我。重新启动IIS修复它。
答案 7 :(得分:3)
只需在stuartd的回答中添加旁注:
请确保检查相同构建设置的所有相关项目。如果您的主项目具有正确的设置但您的相关项目没有,则您将获得相同的消息提示。在后视中显而易见但不是第一个想到的东西。
答案 8 :(得分:3)
感谢这是一个老帖子,但它是我在搜索答案时第一个出现在Google上的帖子,所以很可能其他人也会来到这里。
在我的情况下,问题是我的ASP.NET项目属性Web选项卡中的IIS项目URL设置为错误的URL。它指向我使用的http://localhost项目的不同副本。我打开的解决方案的地址实际上已在我的本地IIS上配置为http://localhost:90。
更改为正确的地址可解决问题。
答案 9 :(得分:2)
我有同样的问题......不管我做了什么 - 什么都没有用。这是一个新的空项目,这是问题所在。我最终删除项目并添加了一个新项目 - 新项目必须有另一个名称;如果我使用相同的名称,错误就会重新出现 - 即使重新启动,清理并重建......它必定是VS 2015中的错误。
答案 10 :(得分:2)
我在这个列表中尝试了很多东西,但最后我通过打开解决方案属性并从"多个启动项目"切换来解决这个问题。到"单一启动项目"又回来了。
答案 11 :(得分:2)
对我来说,它是来自私人Nuget服务器的Nuget引用。我不知道它是如何编译的,但更改项目引用的引用让我解决了问题。
答案 12 :(得分:1)
我在VS2015Express中打开了我的VS2012Pro项目并遇到了同样的问题。
我检查了我的解决方案属性|配置属性,发现一个项目被设置为Release& 86。
我把它改回了Debug&任何CPU,提示都已消失。
答案 13 :(得分:1)
就我而言,我正在为Outlook开发一个VSTO插件,并且Outlook在测试我的安装程序时意外加载了我最近安装的DLL的Release版本。看起来VS试图使用该DLL而不是我期望的Debug。修复Outlook正在加载哪个DLL为我修复了这个。
答案 14 :(得分:0)
我花了2天看起来Reset the Visual Studio 2017 Experimental Instance
帮助了我。
答案 15 :(得分:0)
我的解决方案与其他所有解决方案略有不同,并且有点独特。
我正在使用一个包含托管代码和经典ASP的网站,两者都引用相同的程序集。 Visual Studio抱怨我的托管DLL是一个发布版本。
这个问题在我的程序集中是一个未被捕获的异常,但它是由一个经典的ASP页面通过互操作引发的。 Visual Studio无法处理调试并显示错误消息。托管代码抛出的同一异常会按预期启动调试器。
更正托管程序集的构造函数中的问题修复了所有内容。
现在回顾大局,这一切都是有道理的,但当时,错误信息让我走上了一条非常深的道路,我尝试了这个线程中的所有内容,直到我有了“啊哈!”时刻。
答案 16 :(得分:0)
我正在使用 VS 2019 v16.10.4 并且刚刚遇到了这个问题。项目选项中的“检查优化代码选项 -- 保存 -- 取消选中优化代码选项 -- 保存”构建屏幕例程有效,但仅在重新启动 VS 后。
旁注:惊人 - 这是 5 年零 11 个月前提出的问题,但仍未修复......
答案 17 :(得分:0)
这是一个奇怪的警告。
重建解决方案不一定会清除所有DLL(特别是从依赖项目复制的DLL)。
但是,重建依赖项目会使此警报消失。
面对VS2015 Update 3。
答案 18 :(得分:0)
答案 19 :(得分:0)
从here复制我的其他答案。
如@romanoza所述,Microsoft已使用以下信息更新了错误报告:
取消选中设置Debug - >选项 - >抑制模块负载的JIT优化(仅限管理)
这是解决方法。他们后来继续说:
我们建议未经检查的人员将其取消选中,以便在特定情况下改善性能和仅我的代码的行为。
最后,确认:
这是一个错误,它无法启用该设置,我们正在针对这种情况进行修复,以防某些客户仍希望在启用该设置的情况下进行调试。
答案 20 :(得分:0)
查看link by Patrick as a comment to the question后,有人注意到了一种解决方法,即在IIS Express中停止该网站。在Visual Studio中停止调试器后,我能够防止出现同样的问题。但是,我更多地研究它,我相信它也可能与调试器的“编辑和继续”设置有关。当我在Visual Studio的选项中禁用它时,我不再遇到问题。但那会妨碍你使用编辑并继续功能,所以不确定这是否值得你。
工具>选项>调试器>编辑并继续(滚动到“常规”列表的底部)>取消选中“编辑并继续”复选框。
我在安装Update 1之后也经历过这种情况,但它可能只是因为我首先设置了这个设置......但不确定。
答案 21 :(得分:0)
决议步骤:
转到违规项目的构建设置。
向右滚动到“高级”按钮。
确保“调试信息”未设置为“无”。
我建议您使用完整选项。
很高兴为您提供帮助
答案 22 :(得分:0)
我遇到了一些问题,最后通过选择“禁用我的代码并继续”来解决问题。