问题描述
当前,我正在使用LUISGen来帮助我的机器人在C#中轻松获取Intent和Entities。
在这里,我正在使用LUISGen为LUIS应用程序生成C#类并收到以下错误
Exception Info: System.ArgumentException: Can not convert Object to String.
at Newtonsoft.Json.Linq.JToken.op_Explicit(JToken value)
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site,T0 arg0)
at CallSite.Target(Closure,CallSite,Object )
at LUISGen.Utils.EntityApply(JObject entity,Action`1 action) in D:\a\1\s\packages\LUISGen\src\Utils.cs:line 94
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid5[T0,T1,T2,T3,T4](CallSite site,T0 arg0,T1 arg1,T2 arg2,T3 arg3,T4 arg4)
at LUISGen.CSharp.Entities(Object app,Writer w) in D:\a\1\s\packages\LUISGen\src\CSharp.cs:line 161
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T2](CallSite site,T2 arg2)
at LUISGen.CSharp.Generate(String description,Object app,String className,String space,String outPath) in D:\a\1\s\packages\LUISGen\src\CSharp.cs:line
解决方法
该问题在luis:convert中,并且自上次发布以来已得到解决。如果您使用的是bf的预发行版本,而我尝试对.json文件执行luis:generate:cs,则失败并出现相同的错误。然后,您可以执行luis:convert然后执行luis:generate:cs,它就可以了。
如果要运行bf工具的预发行版本,请执行以下操作。
- 将npm指向MyGet提要:npm配置集注册表https://botbuilder.myget.org/F/botframework-cli/npm/
- 安装CLI工具:npm install -g @ microsoft / botframework-cli
您应该安装并尝试使用bf luis:generate:cs https://github.com/microsoft/botframework-cli/blob/master/packages/luis/README.md#bf-luisgeneratecs进行预发行。