让T4脱离VS生成代码

让T4脱离VS生成代码

最近项目快结束;空闲时间相对多一点;为了以后工作方便点;索性研究了VS的T4;

写个代码生成器;以后可以通过代码生成器调用项目里面的Dll直接生成代码或者xml

应用以下两个T4的Dll;当然也可以通过T4的EXE通过命令生成代码

Microsoft.VisualStudio.TextTemplating

Microsoft.VisualStudio.TextTemplating.Interfaces

 

实例化Host(继承ITextTemplatingEngineHost)

 CustomCmdLineHost host = new CustomCmdLineHost();

 

Engine engine = new Engine();
host.TemplateFileValue = 模板文件路径;

tring input = File.ReadAllText( 模板文件路径);

string output = engine.ProcessTemplate(input, host);

写入生成文件

 File.WriteAllText(生成文件路径, output, Encoding.UTF8);

以下是模板文件和生成XML和Modle的图例

 

 

posted @ 2013-12-23 09:58  IvanDesign  阅读(2098)  评论(1编辑  收藏  举报