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