Я переопределил шаблоны генерации контроллера 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 без определенного пользовательского инструмента?