在调试由Kestrel托管的ASP.NET 5 API项目中引用的DNX项目时,断点不会被击中(所有这些都在同一解决方案中,并且在src文件夹中)。使用IIS Express进行调试可以正常工作。
可以采取哪些故障排除步骤来解决此问题?
在调试时,不会使用DNX项目创建二进制文件或PDB,因此我不确定从哪里开始。
project.json命令:
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
项目属性:
注意:在所有项目中都使用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:
在“模块”窗口中,我可以看到未加载项目的符号:
我怎样才能解决这个问题?
编辑3:
我发现仅在同时运行多个启动项目时才会出现此问题。运行单个项目时,调试在解决方案中的所有项目中都可以正常工作。
我不知道如何解决此问题以及为什么会发生。
最佳答案
我将此问题提交到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/