Microsoft Bot Framework: MissingMethodException при обновлении Microsoft.Bot.Connector - PullRequest
0 голосов
/ 07 января 2020

Я хочу добавить Active Learning в мой чат-бот, для которого требуется Microsoft.Bot.Builder.AI.QnA 4.3.2 и выше. В настоящее время мой бот использует версию 4.2.2 для любых пакетов Microsoft.Bot.Builder или Microsoft.Bot.Connector. Чтобы обновить Microsoft.Bot.Builder.AI.QnA, мне также нужно обновить пакеты Microsoft.Bot.Builder и Microsoft.Bot.Connector до> = 4.3.2. Когда я обновляю Microsoft.Bot.Connector до любой версии, превышающей 4.2.2, я получаю следующую ошибку в окне вывода VS при попытке запустить чат-бота в эмуляторе Bot Framework.

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 что теперь существует класс OAuthClientOld, а также класс OAuthClient. И у класса OAuthClientOld есть свойство EmulateOAuthCards, а у класса OAuthClient нет, поэтому, возможно, это изменилось после Microsoft.Bot.Connector 4.2.2. Я не уверен, как я могу это исправить, однако, учитывая, что я не вызываю OAuthClient напрямую. У кого-нибудь есть решение для этого?

1 Ответ

1 голос
/ 08 января 2020

Убедитесь, что все ваши пакеты ботов обновлены до 4.3.2.

Любой / все из нижеприведенного:

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}
...