Handlebars.net 无法使用查找帮助程序编译模板-签名或安全透明性不兼容

Handlebars.net 无法使用查找帮助程序编译模板-签名或安全透明性不兼容,handlebars.net,Handlebars.net,我试图在使用.NETCore2.1和Handlebar.NET1.9.5的控制台应用程序中使用以下模板(TestTemplate) <html> <head> <title>A title</title> </head> <body> {{ > (lookup TemplateName)}} </body> </html> 我得到以下例外情况: System.Argumen

我试图在使用.NETCore2.1和Handlebar.NET1.9.5的控制台应用程序中使用以下模板(TestTemplate)

<html>
<head>
    <title>A title</title>
</head>

<body>
    {{ > (lookup TemplateName)}}
</body>
</html>

我得到以下例外情况:

System.ArgumentException:无法绑定到目标方法,因为其签名或安全透明性与委托类型的签名或安全透明性不兼容。 位于System.Reflection.RuntimeMethodInfo.CreateDelegateInternal(类型delegateType,对象firstArgument,DelegateBindingFlags bindingFlags) 位于HandlebarsDotNet.Compiler.SubExpressionVisitor.GetHelperDelegateFromMethodCallExpression(MethodCallExpression helperCall) 位于HandlebarsDotNet.Compiler.SubExpressionVisitor.VisitSubExpression(SubExpressionExpression subex) 位于System.Linq.Expressions.ExpressionVisitor.Visiturary(UnaryExpression节点) at System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor) 位于System.Dynamic.Utils.ExpressionVisitorUtils.VisitArguments(ExpressionVisitor、IArgumentProvider节点) 位于System.Linq.Expressions.ExpressionVisitor.VisitMethodCall(MethodCallExpression节点) 位于System.Linq.Expressions.MethodCallExpression.Accept(ExpressionVisitor) 位于System.Linq.Expressions.ExpressionVisitor.Visiturary(UnaryExpression节点) at System.Linq.Expressions.UnaryExpression.Accept(ExpressionVisitor) 位于System.Linq.Expressions.ExpressionVisitor.VisitConditional(条件表达式节点) at System.Linq.Expressions.conditionalPression.Accept(ExpressionVisitor) 位于System.Dynamic.Utils.ExpressionVisitorUtils.VisitBlockExpressions(ExpressionVisitor,BlockExpression块) 位于System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression节点) 位于System.Linq.Expressions.BlockExpression.Accept(ExpressionVisitor) 在HandlebarsDotNet.Compiler.FunctionBuilder.Compile(IEnumerable1表达式,表达式parentContext,字符串templatePath)----内部异常堆栈跟踪的结尾---在HandlebarsDotNet.Compiler.FunctionBuilder.Compile(IEnumerable1表达式,表达式parentContext,字符串templatePath) 在HandlebarsDotNet.Compiler.FunctionBuilder.Compile(IEnumerable1表达式,字符串模板路径)——内部异常堆栈跟踪的结尾——在HandlebarsDotNet.Compiler.FunctionBuilder.Compile(IEnumerable1表达式,字符串模板路径) 位于HandlebarsDotNet.handlebar.handlebarservironment.Compile(字符串模板)


我希望有人有想法,因为我已经搜索了很长时间。

好的,我完全没有看到Handlebar.js文档

在handlebar.js中,查找帮助器是内置的,但到目前为止,它不在.net版本中

因此,您必须自己声明查找帮助器,在我的例子中是这样的:

Handlebars.RegisterHelper("lookup", (output, context, arguments) => { output.WriteSafeString(arguments[0]); }); 

希望它能帮助其他人。

感谢您添加此功能!也希望看到提交一份PR,将其添加到核心库中。干杯
Handlebars.RegisterHelper("lookup", (output, context, arguments) => { output.WriteSafeString(arguments[0]); });