软谋教育t4模板T4即4个开头英文字母组合_第1页
软谋教育t4模板T4即4个开头英文字母组合_第2页
软谋教育t4模板T4即4个开头英文字母组合_第3页
软谋教育t4模板T4即4个开头英文字母组合_第4页
软谋教育t4模板T4即4个开头英文字母组合_第5页
已阅读5页,还剩11页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

T4,即4个T开头的英文字母组合:TextTemteTransformationToolkit1T4Toolbox.msi(CodePlex上开源的工具SQLschemaEntityFrameworkDAL等。提供一些基于T4方面的VS的扩展:当你安装之后,在“AddNewItem”框中就会多出一个命名为“Code2、T4模板编辑器(eg:支持代码、智能提示tangbleT4Editor(VisualT4(T4T4tangibleT4EditorUMLdll(eg:EnvDTE.dll),tangbleT4EditorVisualT4都不支持导航,并且所报的提tangbleT4EditorVisualT4但是在VisualT4中,我们可以通过在程序集中引入EnvDTE.dll解决此错误的提示(完成开发后可移除程序集),同时我们也可以看到VisualT4中代码也更加贴近VS(蓝色字体标注对象)。就“代码”和“智能提示”方面VisualT4工具表现更完美(前提是必须主动在项目中引入对应程序集),但目可能你还想要tangibleT4EditorUML模板模型,呵呵……T4编辑器,暂-文本块-直接到输出的内容控制块-noutput和assembly只能用在设计时模板。T4 [inherits="temteBaseClass"][compilerOptions="options"]#>inheritsinherits设计时模板会生成任何类型的“文本文件”VisualStudio项目的一部分。T4模板引擎首先要将模板转换为中间程序代码文件,中间代码文件将写入您的%TEMP环境变量)。默认该生成的中间代码继承自.VisualStudio.TextTemting.TextTransformation类,但你也可根据需求使用inherits特性指定派生于TextTransformation类的任何基类。T4在VisualStudio文本模板中,parameter指令模板代码中从自外部上下文传入的值初始化的属性。可以任何(译)T4模板:<#@parameter#>T4T4<#@includefile="filePath"为了增加代码的可性,将公用函数做为类功能块(<#+类功能控制块#>)存放在单独的文件中,该文件可以被<#@include#>到一个或多个模板文件中。以区分后缀为T4运行时(预处理)outputTextTransform()T4<#@assemblyname="[assemblystrongname|assemblyfilename]"在预处理文本模板中,assembly指令无效。改为在VisualStudio项目中直接“添加”。GACSystem.Xml.dllname="System.XmlVersion=,来环境变量 (定义为驱动器+路径);包括尾部的反斜杠“\”安装.NETFramework VisualStudio.NETFramework从n<#标准控制块 <#=表达式控制块#> 将一个可以计算为字符串的表达式括起来,用于提供要写入“输出”文件的字符串的代码。<#+类功能控制块#> 文件中的最后一个块显示,或者用<#@include#>引入外部文件。始终使用n优势:当需求变化时,可以根据业务需求调整模型(输入),按照指定规则将“模型生成任何类型的文本文件”网页资源文件或任何语言的程序源代码(模型是描述应用程序特定方面的数据源它可以是任何类型的文件或数据库。如:数据库、配置文件、UML模型、DSL模型或其他源)<#@temtedebug="false"hostspecific="false"language="C#"<#@outputextension=".txt"或则,添加“纯文本文件”并设置下图属性,加入相关指令。(*.tt)设计时模板:TextTemtingFileGenerator该模板文件包含指令:<#@temtelanguage="C#"n 文本模板转换引擎将“文本模板”转换为可执行的cs代码——“转换类”。转换类(*.cs)存于临时 录在“环境变量”中设置:右键“我的电脑”—“属性”—“高级系统设置”—“高级”选项卡中“环境变量”—TEMP变量)命名空间:.VisualStudio.TextTemting+随机引擎编译生成的“转换类”生成dll,dll存于临 下。具体是哪个dll可以在模板的“调试环境”下使用运行时模板没有<#@output“运行时模板”cs命名空间:默认为所属程序集名空TransformText()方法输出“文本字TransformText()方法是由模板引擎将模板中的所有“控制块”代码(包括“包含的模板”)组合生成。所以在使用控制块时请注意,文本模板在与主应用程序分开的App llT4值为为temte指令添加debug="true"特性:<#@temte VS 处点击取消则将关闭当前IDE),调试完后可以不用中断调试,不影响模板编辑,当再次编译模板时如果存在lparameter#>指令》。l可以通过编写基类模板(可以是抽象模板)在文本模板之间共享内容。使用<@#temte#>指令的inherits特性指定l调用.VisualStudio.TextTemting.Engine的ProcessTemte方法publicstringProcessTemstring) 参数指定文本模板的内容,egSystem.IO.File.ReadAllText(Path) 参数指定的宿主,必须是实现ITextTemtingEngineHost的类。这是由模板引擎回调的。宿主必须能记录错误、解析对程序集和包含文件的、提供可在其中执行模板的应用程序域并为每条指令调用相应的处理器。nWrite()和Wriine()方 <#=变量<#Write()|Wriine()#>,因为控制块不能嵌套,所以此种方式比<#=变量#>书写更PushIndent(string 添加指定格式,内部会将字符长度加入到缓存变量indentLengths列表Write(“\r\n”)中间代码,最终造成将缩进的格式错误VisualStudio<#this.Error("Anerrormessage");<#Warning("Awarningmessage");n使用执行模板的主机(VisualStudio)公开的方法和属性。这适用于常规文本模板,而不是预处理过的文本模首先,给temte指令添加hostspecific="true"特性,以便使用this.Host对象使用this.Host.ResolvePath()LogErrors()Visual

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论