Я переопределил шаблоны T4 для создания контроллеров (ControllerWithContext.tt
), как описано здесь.
Я хотел бы воспользоваться утилитами вспомогательного кода, найденными в EF.utility.CS.ttinclude
, которые используются в шаблоне T4 генератора модели POCO. Поэтому я скопировал следующие строки из моего 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
в my ControllerWithContext.tt
, что само по себе породило больше ошибок, но которые были легко решены.
Как включить шаблоны T4 без определенного инструмента?