在 Azure App Service 上远程调试 ASP.NET Core 1.0 应用程序

Remote debugging an ASP.NET Core 1.0 Application on Azure App Service

本质上,我有一个 ASP.NET Core 1.0 (rc1-final) 应用程序,我将其发布到 Azure App Service 并面临仅出现在那里的错误,并且从日志中看不清楚是什么导致了它。

所以我尝试使用 Visual Studio 2015(更新 1)的远程调试功能和 Cloud Explorer 来调试应用程序。调试开始,但由于未加载调试符号,因此未命中任何断点。

我试过发布版和调试版都无济于事。 dnx web 项目是使用 "Produce output on build" 选项编译的(它将项目打包到 nuget 包中),以便使用它创建和发布 xmldoc(旁注:我正在使用 Swashbuckle 的 SwaggerGen for Rest API 文档并需要 xmldocs 以获得额外的文档)。

我在旧的 nuget 方法中找到了一个 few articles 来创建包,它是 -symbol 参数,但没有找到生成参数或将参数传递给 dnx/dnu 构建进程并发布到服务器上。

目前,应用程序是通过 Visual Studio 2015 Update 1 中的 Azure 发布工具发布的。

有人知道如何在 Azure App Service 上远程调试(最好是发布编译版本)ASP.NET Core 1.0 Web 应用程序吗?

解决方法很简单,只要您知道去哪里找。

默认工具附加到 w3wp.exe 进程,由于 DNX 应用程序 运行 在它之外,因此无法调试它们。

通过云资源管理器开始调试后,我们可以转到 Debug > Attach to Process 菜单,select 从 "Qualifer" 下拉菜单中选择 App Service 实例,然后然后 select dnx.exe 进程并附加到它,如本 blog post 中所指出的。

似乎还没有任何一键式解决方案。