Как указать, должен ли файл T4 производить какой-либо вывод - PullRequest
3 голосов
/ 15 февраля 2010

Я использую T4 для генерации некоторых классов DTO + картографов.

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

Моя проблема заключается в том, что повторно используемые файлы .tt будут пытаться выдавать свои собственные выходные данные и завершаться сбоем (поскольку они связаны с некоторыми другими файлами .tt) каждый раз, когда я изменяю их, что просто отстой.

Я почти уверен, что где-то увидел директиву, указывающую, что данный файл не должен пытаться произвести какой-либо вывод, но я не могу отследить его.

Любая помощь приветствуется!

Ответы [ 4 ]

7 голосов
/ 16 февраля 2010

Вы можете указать недопустимое расширение для подавления вывода вашего шаблона, например:

<#@ output extension="\n" #>
4 голосов
/ 02 ноября 2012

Мне не хватает «Кредитной карты StackOverflow», чтобы ответить на ответ Станислава Князева, поэтому мне придется опубликовать свой собственный здесь. Спасибо за лидерство Станиславу Князеву.

Сработало следующее; но если вы используете подсветку синтаксиса T4 (например, Tangible T4), вы обнаружите, что она заполняет подсветку.

<# @ output extension = "\ n" #>

Итак, я нашел настройку расширения для чего-то, что не является escape-символом, как это:

<# @ output extension = "" #>

, а затем в разделе кода программно установить расширение файла, например:

Host.SetFileExtension ( "\ п");

Подсветка T4 восстанавливается.

4 голосов
/ 15 февраля 2010

В свойствах (выберите файл и нажмите F4) файлов T4, для которых вы хотите подавить вывод, очистите запись «Custom Tool».

1 голос
/ 15 февраля 2010

переименуйте их в .ttinclude и посмотрите, как это работает для вас ....

...