Microsoft Bot Framework:更新 Microsoft.Bot.Connector 时出现 MissingMethodException
Microsoft Bot Framework: MissingMethodException when Microsoft.Bot.Connector is updated
我想将主动学习添加到我的聊天机器人中,这需要 Microsoft.Bot.Builder.AI.QnA 4.3.2 及更高版本。目前我的机器人对任何 Microsoft.Bot.Builder 或 Microsoft.Bot.Connector 包使用版本 4.2.2。要更新 Microsoft.Bot.Builder.AI.QnA,我还需要将我的 Microsoft.Bot.Builder 和 Microsoft.Bot.Connector 包更新到 >= 4.3.2。当我将 Microsoft.Bot.Connector 更新到大于 4.2.2 的任何版本时,当我尝试 运行 Bot Framework Emulator 中的聊天机器人时,我在 VS 输出 window 中收到以下错误。
Microsoft.AspNetCore.Hosting.Internal.WebHost:Critical: Application startup exception
System.MissingMethodException: Method not found: 'Void Microsoft.Bot.Connector.OAuthClient.set_EmulateOAuthCards(Boolean)'.
at Microsoft.Bot.Builder.Integration.AspNet.Core.ApplicationBuilderExtensions.UseBotFramework(IApplicationBuilder applicationBuilder)
at CBot.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in C:\Users\X\Desktop\CBot\Startup.cs:line 136
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
我相信当我调用 .UseBotFramework() 时发生了异常:
129 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
130 {
131 _loggerFactory = loggerFactory;
132
133 app.UseDefaultFiles()
134 .UseStaticFiles()
135 .UseBotFramework();
136 }
我在 Microsoft.Bot.Connector documentation 看到过
现在是 OAuthClientOld class 以及 OAuthClient class。 OAuthClientOld class 有 EmulateOAuthCards 属性 但 OAuthClient class 没有,所以也许这在 Microsoft.Bot.Connector 4.2.2 之后发生了变化。我不确定如何解决此问题,但考虑到我不直接调用 OAuthClient。有人对此有解决办法吗?
确保所有你的 Bot 包都升级到 4.3.2。
Any/all 以下的:
Microsoft.Bot.Builder.Dialogs {4.3.2}
Microsoft.Bot.Connector {4.3.2}
Microsoft.Bot.Schema {4.3.2}
Microsoft.Bot.Configuration {4.3.2}
Microsoft.Bot.Builder {4.3.2}
Microsoft.Bot.Builder.Integration.AspNet.Core {4.3.2}
Microsoft.Bot.Builder.Ai.QnA {4.3.2}
我想将主动学习添加到我的聊天机器人中,这需要 Microsoft.Bot.Builder.AI.QnA 4.3.2 及更高版本。目前我的机器人对任何 Microsoft.Bot.Builder 或 Microsoft.Bot.Connector 包使用版本 4.2.2。要更新 Microsoft.Bot.Builder.AI.QnA,我还需要将我的 Microsoft.Bot.Builder 和 Microsoft.Bot.Connector 包更新到 >= 4.3.2。当我将 Microsoft.Bot.Connector 更新到大于 4.2.2 的任何版本时,当我尝试 运行 Bot Framework Emulator 中的聊天机器人时,我在 VS 输出 window 中收到以下错误。
Microsoft.AspNetCore.Hosting.Internal.WebHost:Critical: Application startup exception
System.MissingMethodException: Method not found: 'Void Microsoft.Bot.Connector.OAuthClient.set_EmulateOAuthCards(Boolean)'.
at Microsoft.Bot.Builder.Integration.AspNet.Core.ApplicationBuilderExtensions.UseBotFramework(IApplicationBuilder applicationBuilder)
at CBot.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) in C:\Users\X\Desktop\CBot\Startup.cs:line 136
--- End of stack trace from previous location where exception was thrown ---
at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
at Microsoft.AspNetCore.Server.IISIntegration.IISSetupFilter.<>c__DisplayClass4_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()
我相信当我调用 .UseBotFramework() 时发生了异常:
129 public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
130 {
131 _loggerFactory = loggerFactory;
132
133 app.UseDefaultFiles()
134 .UseStaticFiles()
135 .UseBotFramework();
136 }
我在 Microsoft.Bot.Connector documentation 看到过 现在是 OAuthClientOld class 以及 OAuthClient class。 OAuthClientOld class 有 EmulateOAuthCards 属性 但 OAuthClient class 没有,所以也许这在 Microsoft.Bot.Connector 4.2.2 之后发生了变化。我不确定如何解决此问题,但考虑到我不直接调用 OAuthClient。有人对此有解决办法吗?
确保所有你的 Bot 包都升级到 4.3.2。
Any/all 以下的:
Microsoft.Bot.Builder.Dialogs {4.3.2}
Microsoft.Bot.Connector {4.3.2}
Microsoft.Bot.Schema {4.3.2}
Microsoft.Bot.Configuration {4.3.2}
Microsoft.Bot.Builder {4.3.2}
Microsoft.Bot.Builder.Integration.AspNet.Core {4.3.2}
Microsoft.Bot.Builder.Ai.QnA {4.3.2}