ASP.NET 5、DNX & Kestrel:未命中断点
ASP.NET 5, DNX & Kestrel: Not hitting breakpoints
在调试由 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:
在模块 window 中,我可以看到项目的符号未加载:
我该如何解决这个问题?
编辑 3:
我发现这个问题只有在运行同时启动多个项目时才会出现。当 运行 单个项目时,调试在解决方案中的所有项目中都可以正常工作。
我不知道如何解决这个问题,也不知道为什么会这样。
我在 aspnet/Tooling GitHub 存储库中提交了这个问题。共识是这是一个错误,只会在 Visual Studio 2015 Update 2 版本中修复。
一个临时解决方案是为每个进程使用一个单独的 VS 实例。
请参阅问题 here。
我有完全相同的问题花了一整天,但仍然无济于事。我重新创建了项目,但是很奇怪,在项目创建后的第一次调试中,MVC Core 的调试命中控制器 class 而不是在那之后,只有 main class 即 startup.cs 每次都达到断点
在调试由 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:
在模块 window 中,我可以看到项目的符号未加载:
我该如何解决这个问题?
编辑 3:
我发现这个问题只有在运行同时启动多个项目时才会出现。当 运行 单个项目时,调试在解决方案中的所有项目中都可以正常工作。
我不知道如何解决这个问题,也不知道为什么会这样。
我在 aspnet/Tooling GitHub 存储库中提交了这个问题。共识是这是一个错误,只会在 Visual Studio 2015 Update 2 版本中修复。
一个临时解决方案是为每个进程使用一个单独的 VS 实例。
请参阅问题 here。
我有完全相同的问题花了一整天,但仍然无济于事。我重新创建了项目,但是很奇怪,在项目创建后的第一次调试中,MVC Core 的调试命中控制器 class 而不是在那之后,只有 main class 即 startup.cs 每次都达到断点