visual studio 2017远程调试azure api app: "The breakpoint will not currently be hit. No symbols have been loaded for this document."

visual studio 2017 remote debugging azure api app: "The breakpoint will not currently be hit. No symbols have been loaded for this document."

我正在尝试远程调试 asp.net 核心 1.1 api 应用程序(针对 .net 框架 4.5.2),它是 运行 在 Azure 上。
我通过服务器资源管理器附加调试器。调试器附加到正确的进程。但是我设置的任何断点都有消息 "The breakpoint will not currently be hit. No symbols have been loaded for this document."
我看到的关于此类问题的所有答案都假设模块 window 显示了我的项目加载的所有模块,但在我的例子中,模块 window 是空的!
我在 VS2017 15.4.
如果我没记错的话,我以前能够使用 15.2 版远程调试同一个项目。当我更新到 15.3 时开始出现问题,但当时我没有追究它。

我在 MS 论坛上提交了问题:Can't remote debug Azure API app

现在已经收到官方回复,确实是VS中的一个bug,待发布的版本(15.6)中会修复。

他们还提出了一个解决方法,我尝试过并且确实有效:Manually Attach a Debugger to Azure Web Apps

其中涉及:

  1. 转到 Azure 门户中的 Web 应用应用程序设置,并确保启用远程调试,

  2. 在VS菜单中:Debug > Attach to Process...,进入带有调试端口的web应用程序url,例如:

    myapp.azurewebsites.net:4022  
    
  3. 然后在出现的凭据中,输入应用程序的发布配置文件中可用的用户名和密码,可以从门户下载。如果用户名是 $myapp,应该这样输入:

    $myappp$myapp  
    
  4. 然后选择托管(v4.6、v4.5、v4.0)代码,然后选择核心应用的名称。

其实我以前也发现过类似的方法,但都没有成功。对我来说关键是第 3 步。其他人建议将用户名输入为 .\$myapp 或 myapp\$myapp。所以一定要按上面写的输入。

顺便说一句,看到上面的博客 post 是将近 2 年前(2016 年 2 月)的,而我遇到的问题是几个月前才介绍的,它似乎是一种治疗方法-所有,因此对于必须处理远程调试 Azure 应用程序的任何人来说,保存此信息以供将来参考是值得的。

更新: 将 VS 2017 更新到版本 15.5.2 后,问题似乎已得到解决。

我在 Visual Studio 2019 中遇到了同样的问题。我的解决方法是进入 VS 菜单:调试 > 附加到进程,然后尝试按照@Dan Z 的描述进行连接。未建立连接,显示未找到连接,但在尝试“调试 > 附加到进程”后,再次从 Cloud Explorer 附加调试器总是成功的。这很可能是 VS

中的错误