【问题标题】:VS2017 ignoring breakpoints ONLY in MVC web API controllersVS2017 仅在 MVC Web API 控制器中忽略断点
【发布时间】:2018-10-01 07:23:49
【问题描述】:

(VS 2017 (v15.6.6),Dot Net Core,Win 10 Enterprise,使用 iisexpress。)

我有一个相当传统的 Dot Net Core 项目,它结合了 MVC 视图和 Web API。

我的问题是在 Web API 控制器中进行调试。这些控制器中设置的断点将被忽略。而在非 API 控制器中设置的断点正在被命中。

同一解决方案中的其他项目中完全是 Web API 的断点可以正常工作。

我正在使用“调试”模式。我已经“清理”,完成“重建解决方案”,重新启动 VS2017,重置 iisexpress 并重新启动 PC。一切都无济于事。 WebAPI 控制器中没有命中断点。

我被难住了。其他 SO 答案不适用(我知道我正在使用调试,我可以在 bin\Debug\netcoreapp2.0 中看到 pdb 文件,重新启动没有帮助)。其他人看到了吗?

UPDATE 如果我使用 IIS 而不是 iisexpress(并且没有其他更改),则会遇到断点。看起来像 iisexpress 中的错误?

【问题讨论】:

  • 您是否检查过 Web API 项目是否使用“优化代码”构建设置?它需要“关闭”才能进行调试。请参阅this question 了解在哪里可以找到它。
  • @Peter B - “优化代码”已关闭
  • 开始调试。然后 Debug->Attach to process 找到 iisexpress.exe 并附加。然后通过浏览器点击您的应用。
  • @Nine Tails - 仍然没有运气。它只是过去...
  • 听起来好像应用程序正在执行,并且附加了调试器,但两者的方向不同。

标签: c# visual-studio-2017 .net-core iis-express visual-studio-debugging


【解决方案1】:

一种解决方法是您可以使用 System.Diagnostics.Debugger.Break() 方法来强制中断,如断点。

参考:

Web API in MVC Project isn't hitting breakpoints ("symbols not loaded")

Cant hit breakpoint in web api controller

【讨论】:

    猜你喜欢
    • 2012-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多