C# Bot Builder SDK 3.5.5中的ConnectorStore更改?
我正在将我们的Bot的Bot Builder SDK从3.5.0升级到3.5.5,因为LUIS endpoint在几周内就被弃用了,而且最新的SDK版本似乎有办法指定“LuisAversion” 在升级过程中,我在修改行为以使用LastWriteWins策略实现CachingBotDataStoreConsistencyPolicy时遇到以下错误: 引发异常: Autofac.dll中的“Autofac.Core.Registration.ComponentNotRegisteredException” 其他信息:请求的服务“Microsoft.Bot.Builder.Dialogs.Internals.ConnectorStore”尚未注册。要避免此异常,请注册组件以提供服务,使用IsRegistered()检查服务注册,或使用ResolveOptional()方法解析可选依赖项C# Bot Builder SDK 3.5.5中的ConnectorStore更改?,c#,botframework,C#,Botframework,我正在将我们的Bot的Bot Builder SDK从3.5.0升级到3.5.5,因为LUIS endpoint在几周内就被弃用了,而且最新的SDK版本似乎有办法指定“LuisAversion” 在升级过程中,我在修改行为以使用LastWriteWins策略实现CachingBotDataStoreConsistencyPolicy时遇到以下错误: 引发异常: Autofac.dll中的“Autofac.Core.Registration.ComponentNotRegisteredExcept
builder.Register(c=>newcachingbotdatastore(c.Resolve()),
CachingBotDataStoreConsistencyPolicy.LastWriteWins)
.As()
.AsSelf()
.InstancePerLifetimeScope();
这段代码适用于3.5.0,但我不确定处理3.5.5中出现的Autofac错误的最佳方法是什么。对此有什么建议或想法吗?如您所见,ConnectorStore的注册已更改 要解决此问题,您应该将代码中的
c.Resolve()
更改为c.ResolveKeyed(typeof(ConnectorStore))
builder.Register(c => new CachingBotDataStore(c.Resolve<ConnectorStore>(),
CachingBotDataStoreConsistencyPolicy.LastWriteWins)
.As<IBotDataStore<BotData>>()
.AsSelf()
.InstancePerLifetimeScope();