Создать одноразовый шаблон t4 поколения - PullRequest
0 голосов
/ 28 февраля 2011

Я повсюду пытался найти способ сгенерировать файл из шаблона T4 в моем проекте.

Моя цель:

  1. Создать шаблон
  2. Включите это где-нибудь (я не знаю, где)
  3. Сделать "Новый файл из шаблона"
  4. Создать новый файл .cs в моем проекте из результата шаблона

Если вы можете вести меня или поделиться учебником, делающим это, я был бы очень рад!

Ответы [ 2 ]

0 голосов
/ 12 марта 2011

На NuGet есть замечательный пакет от Стива Сандерсона под названием T4Scaffolding, который делает подобные вещи.

http://nuget.org/packages/T4Scaffolding/

Если это не работает для вас, вы можете бросить свой собственный.
Для этого вы должны использовать сервисный API T4 из шаблона элемента Visual Studio.

Вы можете сделать это, создав небольшой COM-компонент, реализующий интерфейс IWizard.

Вот интерфейс документа: http://msdn.microsoft.com/en-us/library/ms233750(v=VS.100).aspx

Вот пример создания IWizard (а не T4): http://blogs.conatural.com/2009/01/how-to-write-a-vs-2008-item-template-and-wizard-for-conatural-data-commands/comment-page-1/

Вот интерфейс службы T4, который вы можете вызвать из своего мастера для запуска T4 с произвольным файлом: http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.texttemplating.vshost.itexttemplating.aspx

Используйте следующий код на любом удобном поставщике услуг, чтобы получить это:

GetService(typeof(STextTemplating)) as ITextTemplating
0 голосов
/ 01 марта 2011

Здесь вы найдете документацию Microsoft T4. Однако вы должны знать, что поддержка Microsoft для T4 не является полной в целом, и AFAIK полагается на сторонние редакторы T4 для создания шаблонов. Такие как Материальные .

...