【问题标题】:Unable to attach Debugger from VS 2017 to Azure app service for ASP.NET CORE 2.2.1 app无法将 VS 2017 中的调试器附加到 ASP.NET CORE 2.2.1 应用的 Azure 应用服务
【发布时间】:2019-03-11 19:34:54
【问题描述】:

我是 azure 新手,我在 Azure 应用服务中托管了一个 asp.net 核心 Web api。我能够浏览天蓝色的链接。但是,我在访问服务时遇到了一些内部错误。

为了找出错误,我想通过附加到 Visual Studio 来调试应用程序。但是在附加调试器时,我遇到了错误,如图所示。

ERROR POPUP WHILE ATTACHING DEBUGGER


错误:“无法找到名为 dotnet 且参数为 .\APICore.dll 的进程。该进程可能仍在启动,请重试。”

APICore 是我的 Web api 项目。

我已验证远程调试已启用。

  1. 应用程序是 ASP.NET Core。

  2. Visual Studio 是 VS 2017 社区
    版。

【问题讨论】:

    标签: asp.net azure visual-studio-2017


    【解决方案1】:

    我今天也遇到了同样的问题,这对我来说解决了:

    1) 不要通过服务器资源管理器附加调试器,而是转到 Debug > Attach to Process...

    2) 将 Connection Target 设置为您的应用服务 URL不带 http 和端口 4022。
    因此,http://myappservice.azurewebsites.net 将变为 myappservice.azurewebsites.net:4022

    3) 点击刷新按钮。系统将提示您输入凭据以访问您的应用服务。这些可以在您的发布配置文件的 MSDeploy 发布配置文件中找到:

    <publishData>
      <publishProfile profileName="myappservice - Web Deploy" publishMethod="MSDeploy" 
                      publishUrl="myappservice.azurewebsites.net:443" 
                      userName="{USERNAME}" userPWD="{PASSWORD}" ...>
        <databases />
      </publishProfile>
      <publishProfile profileName="myappservice - FTP" publishMethod="FTP" ...>
        <databases />
      </publishProfile>
    </publishData>
    

    4) 出现可用进程后,选择w3wp.exe 并点击Attach

    【讨论】:

    • 为我工作,但我必须从 Azure 下载发布配置文件才能看到用户名和密码。如果您通过 Visual Studio 生成密码,则密码已加密且无法使用
    • @JonathanBrown 这是一个很好的观点。我确实在我的解决方案中使用了 Azure 的发布配置文件
    • 太棒了。对于 Visual Studio 2019,端口号更改为 4024
    【解决方案2】:

    遇到了完全相同的问题,尝试了几件事(以管理员模式打开,打开出站端口 4022,'附加调试器','附加到进程')但没有任何效果。

    刚刚从 VS 2017 社区版切换到 Visual Studio 2019 - 企业版,现在它可以立即完美运行:

    • 在调试配置中发布了我的 Azure 应用服务
    • 通过 Cloud Explorer 附加调试器
    • 设置断点并在向 API 发送请求时命中它们

    所以也许切换到 2019 年也会为您解决问题。

    【讨论】:

      【解决方案3】:

      您可以尝试几个选项,看看是否有帮助。

      • 确保 Visual Studio 在管理员模式下打开并按照 相同的步骤。
      • 在企业防火墙上为 VS 2017 打开出站端口 4022。
      • 您也可以通过以下链接远程调试 应用

      https://docs.microsoft.com/en-us/visualstudio/debugger/remote-debugging-azure?view=vs-2017#remote_debug_azure_app_service

      【讨论】:

        【解决方案4】:

        上面的答案使用正则 使用从门户下载的发布配置文件中的凭据“附加到进程”对我有用。 VS2019(社区和专业,多个azure帐户,多台机器,物理和虚拟)在这里,云资源管理器“AttachDebugger”从来没有工作过。事实上,它在“附加到进程”时挂起 vstudio,并且必须从任务管理器中杀死 VStudio 才能停止它。

        很奇怪,因为在其他公司/项目中我没有这个问题。多年来,我依靠从桌面调试 azure 来进行各种项目。我继承了这个特定的软件,并且我希望它的起源或构造有一些东西(它有几个......“次优”......方面)。

        【讨论】:

          猜你喜欢
          • 2017-08-25
          • 1970-01-01
          • 2018-06-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多