У меня есть модель DSL и несколько шаблонов T4, которые генерируют код, соответствующий модели. Я хочу, чтобы ВСЕ шаблоны выполнялись после сохранения модели. Каждый шаблон создает несколько выходных файлов. Я знаю теоретически, как создать настраиваемый инструмент для модели, которая будет обрабатывать шаблон и возвращать сгенерированный код. Но как я могу обработать несколько шаблонов, так как интерфейс IVsSingleFileGenerator возвращает один сгенерированный файл.Обработка нескольких шаблонов T4 с помощью настраиваемого инструмента
Один из способов, я думаю, состоит в том, чтобы создать «мастер» T4, который использует общедоступные методы из шаблонов, которые должны быть обработаны. Но тогда я должен писать уродливые методы в каждом шаблоне с сотнями вызовов «Write()», потому что внутри «< # +» невозможно написать обычный текст, как в остальной части шаблона. Или я могу создать один огромный шаблон, содержащий код для ВСЕХ файлов, которые будут сгенерированы. Думаю, это уродливо и очень запутанно.
Или есть способ каким-то образом создать шаблон T4 и позволить ему обрабатывать и создавать файлы самостоятельно? Я знаю только, как создать экземпляр шаблона, чтобы его можно было обработать, но я получаю только сгенерированный код, который я должен обрабатывать самостоятельно.