System.Exception: Exception while executing OutputExpressionAction: Syntax error
---> Syntax error (at index 1)
at System.Linq.Dynamic.Core.Tokenizer.TextParser.ValidateToken(TokenId tokenId, String errorMessage)
at System.Linq.Dynamic.Core.Parser.ExpressionParser.Parse(Type resultType, Boolean createParameterCtor)
at RulesEngine.ExpressionBuilders.RuleExpressionParser.Parse(String expression, ParameterExpression[] parameters, Type returnType)
at RulesEngine.ExpressionBuilders.RuleExpressionParser.Compile[T](String expression, RuleParameter[] ruleParams)
at RulesEngine.ExpressionBuilders.RuleExpressionParser.Evaluate[T](String expression, RuleParameter[] ruleParams)
at RulesEngine.Actions.OutputExpressionAction.Run(ActionContext context, RuleParameter[] ruleParameters)
at RulesEngine.Actions.ActionBase.ExecuteAndReturnResultAsync(ActionContext context, RuleParameter[] ruleParameters, Boolean includeRuleResults)
--- End of inner exception stack trace ---
String interpolation seems to not be supported by custom output expressions i.e:
{ "WorkflowName": "interpolationWorkflow", "Rules": [ { "RuleName": "interpolationRule", "RuleExpressionType": "LambdaExpression", "Expression": "true", "Actions": { "OnSuccess": { "Name": "OutputExpression", "Context": { "Expression": "$\"The year is {DateTime.Now.Year}\"" } } } } ] }
The output expression generates an error:
System.Exception: Exception while executing OutputExpressionAction: Syntax error ---> Syntax error (at index 1) at System.Linq.Dynamic.Core.Tokenizer.TextParser.ValidateToken(TokenId tokenId, String errorMessage) at System.Linq.Dynamic.Core.Parser.ExpressionParser.Parse(Type resultType, Boolean createParameterCtor) at RulesEngine.ExpressionBuilders.RuleExpressionParser.Parse(String expression, ParameterExpression[] parameters, Type returnType) at RulesEngine.ExpressionBuilders.RuleExpressionParser.Compile[T](String expression, RuleParameter[] ruleParams) at RulesEngine.ExpressionBuilders.RuleExpressionParser.Evaluate[T](String expression, RuleParameter[] ruleParams) at RulesEngine.Actions.OutputExpressionAction.Run(ActionContext context, RuleParameter[] ruleParameters) at RulesEngine.Actions.ActionBase.ExecuteAndReturnResultAsync(ActionContext context, RuleParameter[] ruleParameters, Boolean includeRuleResults) --- End of inner exception stack trace ---