T4模板学习笔记

模板指令:

  1. langeuage:输出语言,C#/VB

  2. debug:是否启用代码调试,true/false

  3. hostspecific:true/flase,true将名为host的属性添加到由文本模板生成的类中,该属性是对转换引擎的宿主的引用,并声明为:Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost

  4. inherits:指定模板继承另外一个模板

  5. compilerOptions:有效值为任何编译器选项(基本可以忽略)

参数指令:

  

输出指令:

  <#@ output extension="文件格式" [encoding="编码格式"]#>

  默认输出为.cs文件

程序集指令/命名空间指令:

  引用程序集:

  <#@ assembly name="需要引用的程序集如:System.Configuration.dll"#>

  T4模板中引用程序集与项目中的程序集不相同,程序集完全独立

  引用命名空间:

  <#@ import namespace="命名空间"#>如:<#@ System.Linq #>

应用绝对路径文件指令:

 <#@ include file="$(路径指令)路径"#>

  路径指令:

    1. $(SolutionDir):当前项目所在解决方案目录

    2. $(ProjectDir):当前项目所在目录

    3. $TargetPath):当前项目编译输出文件绝对路径

    4. $(TargetDir):当前项目编译输出目录,Bin目录或者Bin/debug或者Bin/Release目录

      

原文地址:https://www.cnblogs.com/jingxuan-li/p/8001674.html