Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core ASP.NET Core 3.0-如何附加Visual Studio调试器?_Asp.net Core_Visual Studio Debugging_Visual Studio 2019 - Fatal编程技术网

Asp.net core ASP.NET Core 3.0-如何附加Visual Studio调试器?

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命令:

我有两个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
    命令:

    但是-对于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,感谢您的分享,请将您的回复标记为答案,这将帮助其他社区成员更轻松地搜索这些有用的信息,这只是一个提醒:)嘿,这是您侧注中一个方便的扩展。