让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的图例