Я пытаюсь использовать следующий шаблон (TestTemplate) в консольном приложении, используя .NET Core 2.1 и Handlebars.Net 1.9.5.
<html>
<head>
<title>A title</title>
</head>
<body>
{{ > (lookup TemplateName)}}
</body>
</html>
So the line with {{ > (lookup TemplateName)}} is causing me problems.
Идея состоит в том, чтобы использовать партиал, где частичное имя будет разрешено позже путем передачи переменной TemplateName.
Однако, когда я пытаюсь скомпилировать шаблон с помощью
var foo = Resource1.TestTemplate;
Handlebars.Compile(Encoding.UTF8.GetString(foo));
Я получаю следующее исключение:
System.ArgumentException: невозможно выполнить привязку к целевому методу, поскольку его подпись или прозрачность безопасности несовместимы с типом делегата. at System.Reflection.RuntimeMethodInfo.CreateDelegateInternal(Type delegateType, Object firstArgument, DelegateBindingFlags bindingFlags) at HandlebarsDotNet.Compiler.SubExpressionVisitor.GetHelperDelegateFromMethodCallExpression(MethodCallExpression helperCall) at HandlebarsDotNet.Compiler.SubExpressionVisitor.VisitSubExpression(SubExpressionExpression subex) at System.Linq.Expressions.ExpressionVisitor .VisitUnary(узел UnaryExpression) в System.Linq.Expressions.UaryExpression.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.VisitUnary(узел UnaryExpression) в System.Linq.Expressions.UaryExpression.Accept(посетитель ExpressionVisitor) в System.Linq.Expressions. ВыражениеVisito r.VisitConditional(узел ConditionalExpression) в System.Linq.Expressions.ConditionalExpression.Accept(посетитель ExpressionVisitor) в System.Dynamic.Utils.ExpressionVisitorUtils.VisitBlockExpressions(посетитель ExpressionVisitor, блок BlockExpression) в System.Linq.Expressions.ExpressionVisitor.VisitBlock(BlockExpression node) в System.Linq.Expressions.BlockExpression.Accept(посетитель ExpressionVisitor) в HandlebarsDotNet.Compiler.FunctionBuilder.Compile(выражения IEnumerable1, Expression parentContext, String templatePath) --- Конец внутренней трассировки стека исключений --- в HandlebarsDotNet.Compiler .FunctionBuilder.Compile (выражения IEnumerable1, Expression parentContext, String templatePath) в HandlebarsDotNet.Compiler.FunctionBuilder.Compile (выражения IEnumerable1, String templatePath) --- Конец внутренней трассировки стека исключений --- в HandlebarsDotNet.Compiler.FunctionBuilder.Compile( выражения IEnumerable1, String templatePath) в HandlebarsDotNet.Handlebars.HandlebarsEnvironment.Compi le(Шаблон строки)
Я надеюсь, что у кого-то есть идея, потому что я уже довольно долго искал.