T4, 轻量级的代码生成器

T4(Text Template Transformation Toolkit),是VS内置的一套代码生成机制,比起CodeDom,T4非常的轻量, 编写T4就和用php写网页一样,一气呵成,特别是对有很多简单重复的工作,非常适合.

介绍T4的文章MSDN上也有很多了,这篇只是记录下我自己使用过程中的一些心得

 

1. T4是独立于其宿主project的

要使用T4,通常我们都会新建一个project, 添加tt文件,等等

但T4其实是一个独立的assembly,即其不依赖于宿主的reference, namespae, 等等

image

在tt文件中添加一句

<#=Assembly.GetExecutingAssembly().FullName#>

得到的结果是

_zzgvafc, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null

所以,在tt中使用的reference,并不需要在宿主project中添加

只需要在tt文件中引入

<#@ assembly name="System.ServiceModel, Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" #>

2. 在T4中使用Linq

如果把language设为c#,则默认是使用c#2.0的,如果要使用linq,则需手动指明使用c#3.5

<#@ template language="C#v3.5" #>
并引入System.Core
<#@ assembly name="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" #>

posted on 2010-06-24 21:06  Richard.Chen  阅读(457)  评论(0)    收藏  举报

导航