在调试由Kestrel托管的ASP.NET 5 API项目中引用的DNX项目时,断点不会被击中(所有这些都在同一解决方案中,并且在src文件夹中)。使用IIS Express进行调试可以正常工作。

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

在调试时,不会使用DNX项目创建二进制文件或PDB,因此我不确定从哪里开始。

project.json命令:

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


项目属性:

asp.net-core - ASP.NET 5,DNX和Kestrel:未达到断点-LMLPHP

注意:在所有项目中都使用RC1 1.0.0-rc1-final库。

编辑:


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

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



编辑2:

在“模块”窗口中,我可以看到未加载项目的符号:

asp.net-core - ASP.NET 5,DNX和Kestrel:未达到断点-LMLPHP

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

编辑3:

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

asp.net-core - ASP.NET 5,DNX和Kestrel:未达到断点-LMLPHP

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

最佳答案

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

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

参见问题here

关于asp.net-core - ASP.NET 5,DNX和Kestrel:未达到断点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34592261/

10-17 02:32