Шаблоны t4 для каждого шаблона TransformOnBuild - PullRequest
2 голосов
/ 19 декабря 2011

Я хотел бы автоматически выполнить один из файлов .tt при сборке моего проекта, но не остальные. Можно ли установить свойство TransformOnBuild для определенных файлов .tt вместо всего проекта? Или другой способ сделать это?

Ответы [ 2 ]

6 голосов
/ 20 декабря 2011

Я решил добавить пользовательский шаг предварительной сборки для генерации необходимых файлов .tt:

<Exec Command="&quot;%PROGRAMFILES(x86)%\Common Files\microsoft shared\TextTemplating\10.0\TextTransform.exe&quot; template.tt -out template.cs" />

Этот метод также позволил мне легко передавать параметры (определенные в файле проекта) в шаблон с помощью -a; другая проблема, с которой я столкнулся.

0 голосов
/ 19 декабря 2011

Ответ как еще один метод для достижения этой цели.

  1. Вы можете изменить свой .tt как TextTemplatingFilePreprocessor (лучше описать здесь: http://www.olegsych.com/2009/09/t4-preprocessed-text-templates/).
  2. Создать небольшой инструмент командной строки, который выполняет препроцессор при событии перед сборкой.

Первая ссылка включает в себя этот пример, но описывает использование предварительно обработанного класса: http://blogs.clariusconsulting.net/pga/vs10-beta-1-t4-preprocessing-part-2/

...