T4 文本模板指令

更新:2011 年 3 月

指令为文本模板转换引擎提供说明。

指令的语法如下所示:

<#@ DirectiveName [AttributeName = "AttributeValue"] ... #>

必须将所有特性值放在双引号内。 如果值本身包含引号,则必须使用 \ 字符对这些引号进行转义。

指令通常是模板文件或包含的文件中的第一个元素。 不应将它们放置在代码块 <#...#> 内,也不应放置在类功能块 <#+...#> 之后。

  • T4 模板指令

    <#@ template [language="VB"] [hostspecific="true"] [debug="true"] [inherits="templateBaseClass"] [culture="code"] [compilerOptions="options"] #>
    
  • T4 参数指令

    <#@ parameter type="Full.TypeName" name="ParameterName" #>
    
  • T4 输出指令

    <#@ output extension=".fileNameExtension" [encoding="encoding"] #>
    
  • T4 程序集指令

    <#@ assembly name="[assembly strong name|assembly file name]" #>
    
  • T4 导入指令

    <#@ import namespace="namespace" #>
    
  • T4 包含指令

    <#@ include file="filePath" #>
    

此外,您还可以创建自己的指令。 有关更多信息,请参见创建自定义文本模板指令处理器。 如果使用可视化和建模 SDK 来创建域特定语言 (DSL),将作为 DSL 的一部分生成指令处理器。

修订记录

日期

修订记录

原因

2011 年 3 月

将内容拆分为了若干个子主题。

信息补充。

2010 年 6 月

在程序集指令中使用 $(SolutionDir)。 在预处理过的模板中,改用项目引用。

添加了 <#@Parameter#>。

添加了有关 inherits 的说明,并生成在模板中引用的程序集。

客户反馈