Ответ 1
Я был очень взволнован и взволнован о T4 и попытался преобразовать весь свой материал CodeSmith в T4 - только чтобы узнать там немало вещей, которые не соответствуют/не имеют T4.
- нет поддержки параметра для вашего шаблона - вам нужно жестко закодировать все в свой шаблон.....
- хост Visual Studio для T4 довольно ограничен.
- нет прямой и простой поддержки нескольких выходных файлов из одного шаблона
Отъезд Kathleen Dollard Что не так с T4 в блоге - она в значительной степени королева генерации кода на .NET, и она суммирует ее очень красиво - я полностью согласен на 100% с ее проблемами.
В целом, после многих игр и попыток, я в значительной степени отказался от T4 - он просто еще не готов к прайм-тайму, по крайней мере, не для типа шаблонов, с которыми я работал (в основном, для проверки базы данных таблицы для извлечения значений, например, как основа самодельного ORM, или для извлечения констант и параметров конфигурации и т.д. из базы данных)
И из эксперимента с T4 в VS2010, я не уверен, сколько из этого было исправлено, действительно... не так много, кажется. Существует еще несколько интересных концепций (предварительно обработанных шаблонов, предположительно поддержка параметров и т.д.), но большинство основных недостатков все еще задерживаются.....
Итак, пока: не выбросьте CodeSmith еще! Возможно, T4 в VS2016 будет таким же мощным.... но до тех пор.....
Ресурсы
- сайт Oleg Sych с большим количеством учебников, статей, кода
- T4Toolbox от Oleg Sych
- Visual T4Editor от Clarius Consulting
- Tangible T4Editor (с поддержкой VS2010)