17

调试我们在使用 Kestrel 托管的 ASP.NET 5 API 项目中引用的 DNX 项目时,没有遇到断点(都在同一个解决方案和 src 文件夹中)。使用 IIS Express 进行调试工作正常。

可以采取哪些故障排除步骤来解决此问题?

调试时没有使用 DNX 项目创建二进制文件或 PDB,所以我非常不确定从哪里开始。

project.json 命令:

"commands": {
  "web": "Microsoft.AspNet.Server.Kestrel"
},

项目属性:

项目属性

注意:在所有项目中使用 RC11.0.0-rc1-final库。

编辑:

  • Startup.cs 项目中的断点被击中得很好,但在其他项目中没有。
  • 我已经仔细检查并重新安装了1.0.0-rc1-update1DNX 运行时。我已经卸载了所有其他运行时。
  • 我已确认 PATH 正确反映了 DNX 运行时。
  • 我已经删除了所有project.lock.json文件并恢复了 DNU。
  • 实际的断点引脚是红色的,并不表示应该有任何问题。
  • global.json 正在使用正确的运行时:

    {
      "projects": [ "src", "test", "." ],
      "sdk": {
          "version": "1.0.0-rc1-update1",
          "runtime": "clr",
          "architecture": "x86"
      }
    }
    

编辑2:

在 Modules 窗口中,我可以看到项目的符号没有加载:

模块

我怎样才能解决这个问题?

编辑 3:

我发现这个问题只有在同时运行多个启动项目时才会出现。运行单个项目时,调试在解决方案中的所有项目中都可以正常工作。

在此处输入图像描述

我不知道如何解决这个问题以及它为什么会发生。

4

2 回答 2

1

我在aspnet/Tooling GitHub 存储库上提交了这个问题。共识是这是一个错误,只会在 Visual Studio 2015 Update 2 版本中修复。

一个临时解决方案是为每个进程使用一个单独的 VS 实例。

请参阅此处的问题。

于 2016-01-14T11:01:26.033 回答
0

我整天都遇到同样的问题,但仍然无济于事。我重新创建了项目,但是奇怪的是,在项目创建后的第一次调试中调试 MVC Core 的控制器类,但在那之后只有主类,即 startup.cs 每次都达到断点

于 2016-11-16T14:11:00.873 回答