Asp.net core ASP.NET Core 3.0-如何附加Visual Studio调试器?
我有两个Asp.Net核心项目-一个是版本2.2。一个是3.0版 每个项目都是在VisualStudio中创建的一个全新的、空的MVC项目 我通过跳转到命令行并执行Asp.net core ASP.NET Core 3.0-如何附加Visual Studio调试器?,asp.net-core,visual-studio-debugging,visual-studio-2019,Asp.net Core,Visual Studio Debugging,Visual Studio 2019,我有两个Asp.Net核心项目-一个是版本2.2。一个是3.0版 每个项目都是在VisualStudio中创建的一个全新的、空的MVC项目 我通过跳转到命令行并执行dotnet run来运行每个项目 然后,我按如下方式调试代码: 打开任务管理器并查找dotnet进程的进程Id 在Visual Studio 2019中执行Debug->Attach to Process 对于2.2版项目,我可以在任务管理器中轻松识别正确的dotnet进程-它显示指向项目的.dll文件的dotnet exec命令:
dotnet run
来运行每个项目
然后,我按如下方式调试代码:
dotnet
进程的进程IdDebug->Attach to Process
dotnet
进程-它显示指向项目的.dll
文件的dotnet exec
命令:
但是-对于3.0项目,Task Manager中的dotnet
过程如下所示:
没有一个进程与我的项目的.dll
文件明确关联,也没有一个进程允许我使用“附加到进程”调试代码
所以我的问题是-当我使用
dotnet run运行Asp.Net Core 3.0项目时,是否有一种方法将Visual Studio的调试器附加到Asp.Net Core 3.0项目?结果表明,当使用dotnet run运行Asp.Net Core 3.0项目时,任务管理器中的条目与2.2中的条目不同-生成生成的.exe
文件显示在任务管理器的详细信息中,我可以在Visual Studio中成功附加到此进程:
将ASP.NET Core 2.2项目升级到ASP.NET Core 3.0后,我遇到了同样的问题。我使用了一个技巧来找出我在需要时应该遵循的流程:
- 使用调试运行(F5)
- 附加到进程
- 查找灰显的进程(已附加)。这是应用于进一步处理附件的流程
在我的例子中,这个过程被称为{AssemblyName}.exe
旁注:您会发现快速重新附加到以前的进程(例如Ctrl-R Ctrl-1)特别有用。您可以创建一个带有配置的launch.json文件,以启用.Net核心项目中的调试,而不是附加调试器。您好,Simon,感谢您的分享,请将您的回复标记为答案,这将帮助其他社区成员更轻松地搜索这些有用的信息,这只是一个提醒:)嘿,这是您侧注中一个方便的扩展。