Bot Framework Composer 无法识别自定义函数

问题描述

我需要在 Composer bot 中执行一些在自适应表达式中无法执行的逻辑,因此我继续并按照此说明创建了一个自定义函数,我应该能够从自适应表达式中调用函数在作曲家中。

https://docs.microsoft.com/en-us/azure/bot-service/language-generation/bot-builder-howto-use-lg-custom-functions?view=azure-bot-service-4.0&tabs=cs#add-a-custom-function-to-adaptive-expressions

然后我将函数名称添加到设置中,如下所示:

https://docs.microsoft.com/en-us/composer/how-to-validate#custom-functions

从 Composer 或从 cli 运行我得到同样的错误: 应用程序启动异常 System.Data.SyntaxErrorException: {NAME_OF_FUNCTION_HERE} 没有计算器,它不是内置函数自定义函数

解决方法

经典,在周一的前 5 分钟找到了解决方案。

解决方案:你必须这样做

Expression.Functions.Add(...

在加载 rootDialog 之前。

由于加载 rootDialog 被提取到不同的方法中,我没有意识到我实际上是在添加自定义函数之后。