【问题标题】:Cloud Explorer encounters unexpected error "The calling thread must be STA, because many UI components require this"Cloud Explorer 遇到意外错误“调用线程必须是 STA,因为许多 UI 组件都需要这个”
【发布时间】:2017-02-20 00:18:07
【问题描述】:

我正在尝试将调试器附加到 Azure 应用服务 Web API。我正在使用带有 Azure SDK 2.9.5 的 Visual Studio 2015 Update 3。 Web API 是一个面向完整框架的 ASP.NETCore 1.0.1 应用程序。

【问题讨论】:

  • 让我在这里找到可以提供帮助的人...
  • 太棒了。感谢您的帮助!
  • 您是如何在“服务器资源管理器”窗口的“应用服务”节点下或“调试”菜单下的“附加到进程”窗口下附加调试应用程序的?您的代码是否使用了 Threading 组件? stackoverflow.com/questions/2657212/…
  • 我使用服务器资源管理器附加了调试器。线程组件?你指的是什么线程组件?

标签: azure remote-debugging visual-studio-debugging azure-web-app-service


【解决方案1】:

不幸的是,这是当前 Azure 应用服务工具(在 Azure SDK 2.9.5 中)如何调用调试器的错误。我们已经为此准备了修复程序,它将包含在下一个 Azure SDK 版本中。

目前,您仍然可以使用Attach to Process... 方法将调试器附加到站点。

首先,通过访问portal.azure.com,浏览到该站点,单击弹出窗口中的Application Settings,转动Remote debugging,确保在您的站点上为您正在运行的VS版本启用远程调试设置为On,适当设置Remote Visual Studio version,然后点击刀片顶部的Save

返回VS,点击Debug菜单上的Attach to Process...

在弹出的对话框中,输入您的站点地址和端口 4020

如果系统提示您输入凭据,您可以通过访问 portal.azure.com、浏览到相关站点并单击 Get publish profile 按钮来获取它们。

这将开始下载.pubsettings XML 文件。在此文件中,有两个 <publishProfile> 标签 - 一个带有 publishMethod="FTP" 的标签,userNameuserPWD 的值包含您需要的用户名和密码值。

通过身份验证后,您应该会看到网站上运行的进程列表。通常,您需要附加到 w3wp.exe(或 dotnet.exe,如果您正在运行 .NET Core 应用程序)。

【讨论】:

  • 由于某种原因,它无法通过身份验证。我确保我选择了正确的个人资料,剪切并粘贴了用户名和 userPWD 字段,但它只是一直说“身份验证失败”。
  • @SteveW。我只是通过它来确保它与站点一起工作并注意到您实际上需要FTP 凭据而不是MSDeploy 凭据。我已经相应地更新了答案。我遇到重复的身份验证失败消息的另一次是当我没有正确配置远程调试设置时(它们的位置在我的答案的第一个屏幕截图中,第一个按钮应该是 On,第二个按钮应该是应该与您的 VS 版本匹配)。抱歉耽搁了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-12-14
  • 1970-01-01
相关资源
最近更新 更多