EDIT:目前,本地调试 Azure Function 应用程序(这是由 Bot 服务创建的应用程序类型)有些复杂。 Azure SDK 2.9.6 和 3.0 之间的流程也发生了变化。 VS2017的工具也发生了一些变化:.NET Web 开发和工具博客 https://blogs.msdn.microsoft.com/webdev/2016/12/01/visual-studio-tools-for-azure-functions/
2017 年 3 月 10 日更新:Azure Functions Tools 的此预览副本不
使用新发布的 Azure SDK 3.0。如果你想继续
在 Visual Studio 2015 上使用这些工具,您将需要继续
2.9.6 SDK。此外,没有 Azure Function Tools
目前可用于 Visual Studio 2017。我们正在积极工作
2017 年工具,并将在接下来的几周内提供更新
关于我们的计划和战略。
本杰明·珀金斯 (Benjamin Perkins) 的这篇博文有一个很好的演练:https://blogs.msdn.microsoft.com/benjaminperkins/2016/12/01/how-i-tested-my-chatbot-that-i-created-using-the-bot-services-on-azure/ https://blogs.msdn.microsoft.com/benjaminperkins/2016/12/01/how-i-tested-my-chatbot-that-i-created-using-the-bot-services-on-azure/
还有这个:在 Windows 上调试使用 Azure Bot 服务构建的机器人 https://docs.botframework.com/en-us/azure-bot-service/manage/debug/#debugging-c-bots-built-using-the-azure-bot-service-on-windows
Azure Bot 服务中的 C# 环境有更多共同点
Node.js 比典型的 C# 应用程序要多,因为它需要运行时主机
就像 Node 引擎一样。在 Azure 中,运行时是托管的一部分
云中的环境,但您需要复制该环境
本地桌面上的环境。
首先,您需要设置环境。你需要:
- Azure Bot 服务代码的本地副本(请参阅设置持续集成)
- Bot 框架模拟器
- Azure 函数 CLI
- 点网 CLI
如果您想在 Visual Studio 15 中进行断点调试:
- Visual Studio 15——社区版可以正常工作
- 命令任务运行器 Visual Studio 扩展
安装上述工具后,您就拥有了所需的一切
在本地调试您的 C# 机器人。
打开命令提示符并导航到您的文件夹
project.json 文件位于您的存储库中。发出命令 dotnet
恢复以恢复机器人中引用的各种包。
注意:Visual Studio 2017 RC 正在更改其处理依赖项的方式
在 Visual Studio 中加载时从 project.json 转换为 .csproj 模型。
因此,您需要在此处下载 csproj:https://aka.ms/bf-debug-project https://aka.ms/bf-debug-project并将 .csproj 保存到您的
运行 dotnet Restore 命令之前的 /repo/messages 文件夹。
请注意,这些也是要求:Azure 2.9.6 .NET SDK https://www.microsoft.com/en-us/download/details.aspx?id=54289
适用于 Azure Functions 的 Visual Studio 工具 https://aka.ms/azfunctiontools
还有这个:https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/ https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/您将找到有关如何从 Visual Studio 发布函数应用程序以及如何在 Visual Studio 中下载和执行现有函数应用程序的说明。
从 npm 安装 Azure Functions CLI。
如果您已安装 Visual Studio Tools for Azure Functions,只需将 func.exe 添加到 %USERPROFILE%\AppData\Local\Azure.Functions.Cli\1.0.0-beta.93(或您计算机上的最新版本)的路径中即可。机器)。
转到 Function App 设置 -> Kudu 中的 Function App 的 Kudu 控制台。导航到站点并单击 wwwroot 左侧的下载图标(单击下面的动画 gif)。或者,从经过身份验证的会话中,转到https://[YOURFUNCTIONAPP].scm.azurewebsites.net/api/zip/site/wwwroot/ https://%5BYOURFUNCTIONAPP%5D.scm.azurewebsites.net/api/zip/site/wwwroot/.
在本地计算机上解压缩文件 wwwroot.zip。从该目录运行以下命令:
func azure login
func azure functionapp list
func azure functionapp fetch-app-settings [name]
这将创建一个名为 appsettings.json 的本地文件。这些设置
仅由 Functions CLI 在本地使用。由于该文件包含
机密,请务必不要将此文件签入源代码管理! (这
Azure Functions CLI 会为您将 appsettings.json 添加到 .gitignore。)
将下载的文件复制到网络项目文件夹(包括
应用程序设置.json)。将脚本文件和 function.json 包含在
项目。 F5 现在应该可以工作并成功附加调试器。