t4 шаблоны Quick Start

грамматика

В том числе инструкции, текстовые блоки, в блоке управления.

1. Инструкция

Инструкция включает в себя шаблон, вывод, сборку, импорт, включает в себя другие типы, как сказать T4 двигатель для компиляции и запуска шаблона. Эти инструкции , соответствующие параметры конфигурации двигателя T4.
Пример:

<#@ template debug="true" hostspecific="true" language="C#"  #>

Скажите T4 блок управления двигателем, написанный на C #;

  • langeuage: выход языка, эффективное значение C #, VB, C # по умолчанию
  • отладки: Следует ли включить отладку, эффективное значение True, False, по умолчанию является ложным.
  • hostspecific: Допустимые значения истина, ложь по умолчанию является ложным. Если это свойство установлено в истинное значение, она будет называться атрибутом хоста для текста, порожденным классом шаблона. Свойство представляет собой ссылку на двигатель преобразования хоста и объявил Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost.
  • наследуется: программный код может быть задан шаблон может наследовать от другого класса, которые также могут быть сформированы из текстового шаблона. В настоящее время существует древесины используются, в основном игнорируются
<#@ output extension=".cs" #>

Скажите T4 двигатель генерирует суффикс имени файла .cs;

<#@ assembly name="System.Core"#>

Скажите T4 ссылки сборки двигателя System.Core компиляции и во время выполнения;

<#@ assembly name="$(SolutionDir)\Project.CodeGenerator\bin\Debug\MySql.Data.Dll"  #>

Скажите T4 эталонные двигатель в сборе на определенном месте;

$ (SolutionDir): Current Project Solutions Catalog
$ (ProjectDir): Текущий каталог проекта
$ (TargetPath): Текущий компилятор проекта выходной абсолютный путь к файлу
$ (TargetDir): Текущий проект сборки выходной каталог, веб - Bin каталога проекта, консоль под проектом библиотек классов каталог бен отладки или выпуск каталога ( в зависимости от текущего режима компиляции)

Например: Например, мы построили на D корневой каталог консольного проекта MyTest, каталог решений для D: \ Feng, каталог проекта
D: \ Feng \ MyTest, то время компиляции в режиме отладки
$ (SolutionDir) значение D: \ Feng
$ значение (ProjectDir) из D: \ Feng \ MyTest
$ (TargetPath) является D: \ Feng \ MyTest \ Bin \ Debug \ mytest.exe
$ (TargetDir) является D: \ Feng \ MyTest \ Bin \ Debug

<#@ import namespace="System.Data.SqlClient"#>

Ссылка на пространство имен сказать T4 двигатель во время выполнения компилятора

<#@ include file="../Code/DBSchema.ttinclude"#>

Ссылка на документ, составленный выполнения сказал T4 двигатель, похожий на ссылки JS

1.2 Текстовый блок

Текстовые блоки, содержание Т4 двигателя текстового блока будет скопирован в выходной файл.

1.3 Блок управления

Контрольный блок, предназначенный для вывода управления основного текста. В блоке управления может написать произвольный код на C #.

<# 标准控制块 #> 可以包含语句。

<#= 表达式控制块 #> 可以包含表达式。

<#+ 类特征控制块 #> 可以包含方法、字段和属性,就像一个类的内部

1,4 Привет мир пример

#@ template debug="true" hostspecific="true" language="C#" #>
<#@ output extension=".txt" #> Hello, <#Write("World");#>

рекомендация

отwww.cnblogs.com/tangge/p/11403048.html