如何在 Azure 上使用 DialogPromptBot 示例?

How do I use the DialogPromptBot sample on Azure?

我从 Azure 的机器人示例开始。但是,它似乎已经过时(.Net Core 不匹配)。所以我切换到 DialogPromptBot 样本作为我的起点。我对示例代码进行了更改,使其在我的本地计算机上执行我想要的操作,但我无法在 Azure 上启动和 运行ning。我尝试从 GitHub 进行部署,但它所做的只是将 DialogPromptBot 派生的机器人粘贴到现有机器人之上,结果造成的混乱不会 运行。当我单击 在网络聊天中测试 时,它就位于 "Waiting for bot to be ready"。我想使用 WaterfallDialog 因为我有一系列的问题。

有没有办法从头开始部署机器人?我尝试从 VS 发布。它声称要发布,但是,我收到以下错误:

An error occurred while starting the application.

.NET Core 4.6.26614.01 X86 v4.0.0.0 | Microsoft.AspNetCore.Hosting version 2.1.1-rtm-30846 | Microsoft Windows 10.0.14393 | Need help?

显示应用服务但未显示机器人。

注意:我运行宁Visual Studio Mac。

更新:我从 Azure 中重新开始了一个干净的示例。确保我将库的版本与示例中的版本相匹配,现在一切正常。桌面机器人模拟器、网络聊天和 Skype 看起来都非常不同。

无需任何代码更改即可诊断此问题的最简单方法是...

  1. 在 Web 应用程序上启用应用程序日志记录(诊断日志/应用程序日志记录 -> 打开)
  2. 重新启动网络应用程序(以再次强制启动阶段)
  3. 打开 Log Streaming blade 并等待它连接
  4. 发起与机器人的对话以触发异常

这应该会导致将异常的详细信息转储到日志流 blade,然后您应该会更好地了解出了什么问题。

听起来您的部署过程中出现了问题。您 可以 使用此 tutorial 直接从 Visual Studio 为 Mac 发布应用程序(或本例中的机器人)。

Mac 和 Windows 版本都将发布相同的机器人:作为网络应用程序。通常,机器人作为网络应用程序 BOT 发布,但如果您直接从 Visual Studio 发布,唯一的选择是作为普通网络应用程序。别担心!

Web 应用发布后,您将进入 Azure 并在与新发布的应用相同的资源中创建 Bot Channels Registration。然后,您将从 bot 通道注册中添加应用程序 ID 和密码到您的网络应用程序(实际的 bot 部分),您应该可以很好地在网络聊天中进行测试。

明确的步骤是here。您可以跳过关于使用 Visual Studio 的第一部分,因为您必须遵循上面的 Mac 版本。

知道您的部署失败了,我会诚实地放弃它,并按照上述说明重新开始新的部署。