从Bot Framework到Teams SDK2行代码完成迁移的高效指南【免费下载链接】teams-sdkSDK focused on building AI based applications and extensions for Microsoft Teams and other Bot Framework channels项目地址: https://gitcode.com/gh_mirrors/te/teams-sdkTeams SDK是一个专注于为Microsoft Teams和其他Bot Framework渠道构建基于AI的应用程序和扩展的软件开发工具包。对于希望将现有Bot Framework v4项目迁移到Teams SDK的开发者来说这篇指南将展示如何通过简单的两步操作完成迁移同时保留所有业务逻辑。为什么选择Teams SDK迁移Teams SDK 2.1带来了多项强大功能使其成为Bot Framework用户的理想升级选择原生ASP.NET Core集成- 应用程序构建在标准ASP.NET Core基础上支持依赖注入、日志记录和配置代理身份支持- 允许机器人以AI队友身份运行拥有自己的Microsoft 365身份简化的API- 减少样板代码提供更直观的开发体验增强的扩展性- 通过中间件和插件系统轻松扩展功能Teams SDK与传统Bot Framework的功能对比展示了新架构的优势迁移前的准备工作在开始迁移前请确保您的开发环境满足以下要求安装.NET 6.0或更高版本现有Bot Framework v4项目适当的开发工具如Visual Studio 2022或VS Code迁移过程只需修改项目的基础设施代码您的业务逻辑包括对话状态、用户状态、对话框和中间件将保持不变。实现迁移的两个关键步骤步骤1更新NuGet包引用首先移除旧的Bot Framework包添加Teams SDK兼容性包!-- 移除旧的Bot Framework包 -- PackageReference IncludeMicrosoft.Bot.Builder.Integration.AspNet.Core Version4.22.3 / !-- 添加Teams SDK兼容性包 -- PackageReference IncludeMicrosoft.Teams.Apps.BotBuilder Version1.0.* /步骤2修改启动代码保留您现有的IBot实现不变只需更新服务注册和中间件配置迁移前Bot Framework v4var builder WebApplication.CreateBuilder(args); builder.Services.AddControllers(); builder.Services.AddSingletonIBotFrameworkHttpAdapter, AdapterWithErrorHandler(); builder.Services.AddTransientIBot, EchoBot(); var app builder.Build(); app.MapControllers(); app.Run();迁移后Teams SDK 2.1using Microsoft.Bot.Builder; using Microsoft.Bot.Builder.Integration.AspNet.Core; using Microsoft.Teams.Apps.BotBuilder; var builder WebApplication.CreateBuilder(args); builder.AddTeamsBotFrameworkHttpAdapter(); builder.Services.AddTransientIBot, EchoBot(); var app builder.Build(); app.MapPost(/api/messages, async (IBotFrameworkHttpAdapter adapter, IBot bot, HttpRequest request, HttpResponse response, CancellationToken ct) await adapter.ProcessAsync(request, response, bot, ct)); app.Run();就是这样通过这两个简单的步骤您的Bot Framework v4机器人现在已在Teams SDK 2.1上运行。配置文件更新完成代码迁移后还需要更新配置文件以适应新的格式旧配置Bot Framework{ MicrosoftAppId: your-client-id, MicrosoftAppPassword: your-client-secret, MicrosoftAppTenantId: your-tenant-id }新配置Teams SDK{ AzureAd: { Instance: https://login.microsoftonline.com/, TenantId: your-tenant-id, ClientId: your-client-id, ClientCredentials: [ { SourceType: ClientSecret, ClientSecret: your-client-secret } ] } }新的配置格式支持多种凭据类型包括客户端密钥、托管身份和联合身份凭据无需代码更改即可切换。核心API差异虽然大多数业务逻辑保持不变但了解以下API差异将帮助您充分利用Teams SDK的新功能Bot Framework v4Teams SDK 2.1说明turnContext.SendActivityAsync(MessageFactory.Text(hi))context.Send(hi, ct)上下文上的便捷方法ITurnContextIMessageActivityContextMessageActivity强类型上下文MessageFactory.Text(hi)new MessageActivity(hi)直接构造活动TeamsInfoTeamsApiClient团队信息访问turnContext.Activity.CreateReply(text)context.Reply(text, ct)自动引用入站消息使用Teams CLI快速创建新应用的演示迁移后的增强功能完成迁移后您可以立即利用Teams SDK 2.1的强大功能代理身份支持Teams SDK支持Agent 365使您的机器人可以作为AI队友运行拥有自己的Microsoft 365身份teams.OnMessage(async (context, cancellationToken) { var agenticIdentity context.Activity.Recipient?.GetAgenticIdentity(); if (agenticIdentity is not null) { context.Log.Info( $代表用户 {agenticIdentity.AgenticUserId} $通过应用 {agenticIdentity.AgenticAppId} 执行操作); } await context.SendActivityAsync( $您说: {context.Activity.Text}, cancellationToken); });简化的消息处理Teams SDK提供了更简洁的API来处理消息和事件WebApplicationBuilder builder WebApplication.CreateSlimBuilder(args); builder.Services.AddTeamsBotApplication(); WebApplication app builder.Build(); TeamsBotApplication teams app.UseTeamsBotApplication(); teams.OnMessage(async (context, cancellationToken) { await context.SendActivityAsync($您说: {context.Activity.Text}, cancellationToken); }); app.Run();总结通过本文介绍的两个简单步骤您可以将现有的Bot Framework v4项目无缝迁移到Teams SDK 2.1同时保留所有业务逻辑。迁移后您将获得ASP.NET Core集成、代理身份支持和简化API等多项优势。有关完整的迁移指南请参见BotBuilder迁移指南。要开始使用Teams SDK可通过以下命令克隆仓库git clone https://gitcode.com/gh_mirrors/te/teams-sdk立即体验Teams SDK带来的高效开发体验构建功能强大的Microsoft Teams机器人应用【免费下载链接】teams-sdkSDK focused on building AI based applications and extensions for Microsoft Teams and other Bot Framework channels项目地址: https://gitcode.com/gh_mirrors/te/teams-sdk创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考