VS2015项目不再以调试模式运行

时间:2015-08-13 15:37:13

标签: .net visual-studio visual-studio-2015

即使我在Debug配置中运行,这也是我得到的。

我得到这个的方式是启用“Just My Code”和Warn,如果启动时没有用户代码。这是我们项目最近发生的事情,我不知道我们做了什么导致这一点。但我一直无法修复它。断点不会触发,快速观察会产生奇怪的结果。

我试过谷歌搜索问题,但没有一个标准的“断点不会触发”解决方案有效。我完全没有想法。

更新:我已经检查了配置管理器,并且每个项目也都设置为Debug。 enter image description here

更新2 :我关闭了“启用Optimaizations”,我不再收到“您正在调试发布版本”对话框。它再次在断点处运行和停止!但是输出窗口在启动时显示:

  

未加载模块“Navigo.exe”的符号。

     
      
  1. 使用调试版本配置或禁用调试选项“启用我的代码”。
  2.   
  3. 检查调试选项下的“符号”设置。
  4.   

因此,这解决了我的主要问题,即无法再使用断点和弹出窗口。这是奇怪的,因为我认为你需要加载符号才能使断点工作。那么如果没有加载符号,断点如何工作呢?也许这只是一个坏消息?

23 个答案:

答案 0 :(得分:91)

这也发生在我的几个项目上。我查看了我的构建设置as suggested by stuartd。但是,在我的构建设置中,“优化代码”已启用 。所以我启用了它并保存了项目。然后我取消选中它并再次保存。问题解决了。

有某种错误导致--optimize+标志传递给调试器。在修复错误之前,启用它然后禁用它是一个简单的解决方法。

答案 1 :(得分:91)

使用Configuration Manager检查Debug配置的实际设置 - 它位于主菜单中的Build \ Configuration Manager中 - 如果它们设置为使用Release:

Configuration Manager

此外,确保项目正确定义DEBUG,并且不检查“优化代码”:

Properties

答案 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)

答案 6 :(得分:5)

上述答案都不适合我。重新启动IIS修复它。

答案 7 :(得分:3)

只需在stuartd的回答中添加旁注:

请确保检查相同构建设置的所有相关项目。如果您的主项目具有正确的设置但您的相关项目没有,则您将获得相同的消息提示。在后视中显而易见但不是第一个想到的东西。

答案 8 :(得分:3)

感谢这是一个老帖子,但它是我在搜索答案时第一个出现在Google上的帖子,所以很可能其他人也会来到这里。

在我的情况下,问题是我的ASP.NET项目属性Web选项卡中的IIS项目URL设置为错误的URL。它指向我使用的http://localhost项目的不同副本。我打开的解决方案的地址实际上已在我的本地IIS上配置为http://localhost:90

更改为正确的地址可解决问题。

enter image description here

答案 9 :(得分:2)

我有同样的问题......不管我做了什么 - 什么都没有用。这是一个新的空项目,这是问题所在。我最终删除项目并添加了一个新项目 - 新项目必须有另一个名称;如果我使用相同的名称,错误就会重新出现 - 即使重新启动,清理并重建......它必定是VS 2015中的错误。

答案 10 :(得分:2)

我在这个列表中尝试了很多东西,但最后我通过打开解决方案属性并从"多个启动项目"切换来解决这个问题。到"单一启动项目"又回来了。

  1. 右键单击解决方案,然后选择"属性"
  2. "常见属性"改变选择"多个启动项目"到"单一启动项目"
  3. 点击确定
  4. 运行调试
  5. 结束调试并重复步骤1-3,但切换回"多个启动项目"
  6. 使用多个项目再次运行调试

答案 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)

...如果你只是需要继续进行而没有任何进一步的延迟,请从弹出窗口中选择最后一个选项,所有选项都将像以前一样运行。

enter image description here

答案 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)

我遇到了一些问题,最后通过选择“禁用我的代码并继续”来解决问题。

Just My Code Setting