You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bot Framework包版本不匹配导致机器人部署异常求助

Bot Framework Composer部署故障排查:包版本冲突与应用服务503错误

问题梳理

初始构建失败错误

构建过程抛出NU1605包降级错误,伴随NU1701兼容性警告:

Build FAILED.

C:\Temp\15-12-22 Bot\15-12-22 Bot\CPMBot\CPMBot.csproj : warning NU1701: Package 'Microsoft.Azure.KeyVault.Core 1.0.0' was restored using '.NETFramework,Version=v4.6.1, .NETFramework,Version=v4.6.2, .NETFramework,Version=v4.7, .NETFramework,Version=v4.7.1, .NETFramework,Version=v4.7.2, .NETFramework,Version=v4.8, .NETFramework,Version=v4.8.1' instead of the project target framework '.NETCoreApp,Version=v3.1'. This package may not be fully compatible with your project.
C:\Temp\15-12-22 Bot\15-12-22 Bot\CPMBot\CPMBot.csproj : error NU1605: Detected package downgrade: Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime from 4.17.1 to 4.16.0. Reference the package directly from the project to select a different version. 
C:\Temp\15-12-22 Bot\15-12-22 Bot\CPMBot\CPMBot.csproj : error NU1605:  CPMBot -> Microsoft.Bot.Components.Recognizers.CustomQuestionAnsweringRecognizer 0.0.1-preview.20221207.d820abf -> Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime (>= 4.17.1) 
C:\Temp\15-12-22 Bot\15-12-22 Bot\CPMBot\CPMBot.csproj : error NU1605:  CPMBot -> Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime (>= 4.16.0)
    1 Warning(s)
    1 Error(s)

手动修改.csproj版本号后本地Bot Emulator测试正常,但部署到Azure应用服务后出现503错误,且旧版本也无法部署。

解决方案

1. 修复NU1605包降级错误

  • 问题根源:Microsoft.Bot.Components.Recognizers.CustomQuestionAnsweringRecognizer预览包要求Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime版本≥4.17.1,但项目直接引用的版本范围是≥4.16.0,NuGet自动选择了更低版本导致冲突。
  • 修复步骤:
    1. 打开项目的.csproj文件,找到Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime的引用节点,将版本明确指定为4.17.1(或更高兼容版本):
      <PackageReference Include="Microsoft.Bot.Builder.Dialogs.Adaptive.Runtime" Version="4.17.1" />
      
    2. 执行dotnet restore命令重新还原依赖,确保所有Bot Framework相关包版本统一(Bot组件对版本一致性要求严格)。

2. 处理NU1701兼容性警告(可选但建议)

  • Microsoft.Azure.KeyVault.Core是.NET Framework专属包,与.NET Core 3.1项目兼容性有限:
    • 检查是否有其他依赖包间接引入了该旧包,尝试更新这些依赖到支持.NET Core的版本。
    • 若项目无需直接使用该包,可通过添加NoWarn="NU1701"屏蔽警告,但需确认不会引发运行时异常。

3. 解决应用服务503启动失败问题

503错误通常是应用启动异常导致,按以下步骤排查:

  • 查看启动日志:登录Azure门户,进入应用服务,在「监控」→「日志流」中查看实时启动日志,定位具体的异常信息(如缺少配置、依赖缺失等)。
  • 确认部署包完整性:确保部署的是通过dotnet publish生成的完整发布包,而非本地调试目录;Composer部署时选择正确的发布配置(如Release)。
  • 检查环境变量:在应用服务的「配置」→「应用设置」中,验证MicrosoftAppId、MicrosoftAppPassword、QnAEndpointKey等核心配置是否与预配的Bot资源一致。
  • 版本一致性验证:本地执行dotnet publish确保发布过程无错误,再将生成的publish目录部署到Azure,避免本地与服务器依赖版本不匹配。
  • 回滚旧版本故障处理:若旧版本无法部署,尝试清空应用服务的现有文件(通过Kudu控制台删除site/wwwroot下的内容),再重新部署旧版本的发布包;或创建新的部署槽测试旧版本是否能正常启动。

内容的提问来源于stack exchange,提问作者Nick Francis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 08:35:22