T4模版基础例子
2024-10-09 17:49:20
<#@ template debug="false" hostspecific="true" language="C#" #>
<#@ assembly name="System.Core" #>
<#@ assembly name="EnvDTE" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="System.IO" #>
<#@ output extension=".txt" #> <#
IServiceProvider serviceProvider = (IServiceProvider)this.Host;
EnvDTE.DTE dte = (EnvDTE.DTE) serviceProvider.GetService(typeof(EnvDTE.DTE));
#> <#
string path = Path.Combine(dte.ActiveDocument.Path,"aa.txt");
string line = string.Empty;
using(StreamReader reader = new StreamReader(path))
{
line = line = reader.ReadToEnd();
}
#> <#=line#>
上面代码的作用是通过T4模版来读取与模版文件同一目录中的aa.txt的内容,并生成文件到指定的文件中。
基础语法解释:
hostspecific="true" ,如果将此特性的值设置为 true,则会将名为 Host 的属性添加到由文本模板生成的类中。
EnvDTE相关信息参考,https://msdn.microsoft.com/zh-cn/library/envdte.aspx
EnvDTE 是包含 Visual Studio 内核自动化的对象和成员的用程序集包装的 COM 库。
最新文章
- Kooboo CMS 无聊随笔 (1)
- update kernel 3.10-3.12
- iOS 从应用中跳转至系统设置页面里的多种设置页面
- .NET Nancy 详解(二) 简易路由实现
- 递推 N三角形问题
- Java-java中的有符号,无符号操作以及DataInputStream
- idea 的问题
- Json lib集成stucts2的使用方法 抛出 NestableRuntimeException异常的解决办法
- MACOS,LINUX,IOS上可用的毫秒级精度时间获取
- FILTER的执行次数和驱动表问题
- surfaceflinger中各个layer的排序
- freemarker中的if...elseif...else语句
- Android短信验证码倒计时
- 【BZOJ5491】[HNOI2019]多边形(模拟,组合计数)
- centos6.9 PHP的编译安装并连接nginx
- cocos图片的选择以及压缩
- WebApi测试工具:SAEA.RESTED
- localStorage、sessionStorage用法以及区别
- openshift 调度命令
- [转] 基于TINY4412的Andorid开发-------简单的LED灯控制