你如何运行T4Toolbox Generator或CSharpTemplate?

时间:2013-12-30 14:20:23

标签: c# .net-4.5 t4 t4-toolbox

我下载并安装了T4Toolbox以更轻松地使用T4模板...但是,我甚至无法弄清楚如何运行GeneratorCSharpTemplate

以下是我创建的示例文件:

Template1.tt:

<#+
    public class Template1 : CSharpTemplate
    {
        public override string TransformText()
        {
            base.TransformText();
#>

Hello world

<#+
            return this.GenerationEnvironment.ToString();
        }
    }
#>

我编译了我的应用程序并保存了文件,但没有创建输出文件。 :/

2 个答案:

答案 0 :(得分:1)

你需要另一个模板文件来调用这个模板类&#34; Template1&#34;渲染&amp;生成文本。

允许将该文件命名为BuildTemplate.tt,并且该文件应包含以下代码

  <#@ template language="C#" debug="True" #>
  <#@ include file="T4Toolbox.tt" #>
  <#@ include file="Template1.tt" #>

 <#
 Template1 ta = new Template1 ();
 ta.Render();
 #>

现在只需右键单击文件&#34; BuildTemplate.tt&#34;并选择&#34;运行自定义工具&#34;。将生成.cs文件。

如果要配置其他属性,即在某个指定项目中生成,请将CopyToOutputDirectory设置为true / false,然后将其配置为如下所示

    ta.Output.File = string.Format("Entity\\Entity.cs");
    ta.Output.PreserveExistingFile = true;
    ta.Output.Project = @"..\<Project Folder Path>\<Project File Name>.csproj"; 

您可以在以下位置找到有关配置属性的更多信息 http://www.olegsych.com/2010/03/t4-tutorial-integrating-generated-files-in-visual-studio-projects/

答案 1 :(得分:0)

CSharpTemplate和Generator是T4Toolbox库中的类。要将其包含在模板中,请在.tt文件的顶部添加以下行:

<#@ include file="T4Toolbox.tt" #>