Ошибка шаблонов T4: загрузка включаемого файла ef.utility.cs.ttinclude вернула пустую или пустую строку

Я переопределил шаблоны T4 поколения контроллера ( ControllerWithContext. tt ), как описано здесь .
Я хотел бы воспользоваться вспомогательными служебными программами кода из EF.utility.CS.ttinclude , которые используются в шаблоне генератора моделей POCO T4. Поэтому я скопировал следующие строки из моего Model.tt в мой ControllerWithContext.tt .

<#@ include file="EF.Utility.CS.ttinclude"#>

Однако, когда я пытаюсь добавить контроллер, я получаю сообщение об ошибке

Загрузка включаемого файла 'EF.utility.CS.ttinclude' вернула пустую или пустую строку

Согласно MSDN документации , эта ошибка связана с тем, что включенный файл пуст, что явно не так, потому что он работает с Model.tt

Единственное различие, которое я вижу, заключается в том, что переопределенный ControllerWithContext.tt не имеет специального инструмента, тогда как Model.tt имеет значение TextTemplatingFileGenerator .

Мой обходной путь - скопировать нужные мне функции из ef.utility.cs.ttinclude в мой ControllerWithContext.tt , что само по себе вызывает больше ошибок, но которые легко решаются .

Как я могу включить шаблоны T4 без определенного специального инструмента?

14
задан Mark_Gibson 15 November 2011 в 08:37
поделиться