Я новичок T4, пытающийся использовать T4 Toolbox для генерации кода F # на основе this answer, но кажется, что функциональные блоки классов нельзя смешивать с блоками операторов. Вот мой код:T4 Toolbox - функции смешения класса и блоки операторов
<#@ template language="C#" hostspecific="True" debug="True" #>
<#@ output extension="txt" #>
<#@ include file="T4Toolbox.tt" #>
<#
FSharpTemplate template = new FSharpTemplate();
template.Output.Project = @"..\Library1\Library1.fsproj";
template.Output.File = "Module2.fs";
template.Render();
#>
<#+
class FSharpTemplate: Template
{
public override string TransformText()
{
#>
module Module2
<# for (int i = 0; i < 10; i++) { #>
<#= i #>
<# } #>
<#+
return this.GenerationEnvironment.ToString();
}
}
#>
И я получаю эту ошибку:
A Statement cannot appear after the first class feature in the template. Only boilerplate, expressions and other class features are allowed after the first class feature block.
Итак ... как я могу переписать шаблон для достижения этой цели?
Если я что я не получаю никакого вывода на всех –
я вижу. Я действительно не понимаю, как должен был отвечать ответ в другом вопросе, но я могу сказать вам, что это правило для T4. Я бы рекомендовал добавить ссылку на сгенерированный файл в другом проекте. – erikkallen