Visual Studio T4 по сравнению с CodeSmith

Я использовал CodeSmith в течение прошлых 2 лет и люблю то, что он делает для меня. Однако я также знаю о T4, который встроен к Visual Studio и может сделать некоторый довольно интересный материал также. На основе переговоров с друзьями T4 в VS2010 T4 будет еще лучше.

Таким образом, вопрос: я продолжаю ехать на шине CodeSmith, или время это, чтобы начать преобразовывать все мои шаблоны к T4?

Обновление, Возможно, я не был ясен в способе, которым я задал вопрос. Очевидно, я не собираюсь удалять свои шаблоны cs и прекращать использовать их, пока у меня нет новой шаблонной работы. Однако это даже стоит усилия в этой точке? T4 в этой точке предлагают востребованное преимущество перед CodeSmith? Есть ли некоторая функция или набор функций, которые путем записи моих шаблонов для T4 вместо этого я буду видеть 100X улучшение моей эффективности?

17
задан Dariusz Woźniak 21 November 2013 в 21:57
поделиться

1 ответ

Я был очень взволнован и взволнован по поводу T4 и попытался преобразовать все мои материалы CodeSmith в T4 - только чтобы узнать, что есть довольно много ошибок / не хватает от Т4.

  • нет поддержки параметров для вашего шаблона - вам нужно жестко закодировать все в своем шаблоне .....
  • хост Visual Studio для T4 довольно ограничен
  • нет прямой и простой поддержки для нескольких выходных файлов из единого шаблона

Ознакомьтесь с сообщением в блоге Кэтлин Доллард What Wrong with T4 - она ​​в значительной степени королева генерации кода на .NET, и она очень хорошо резюмирует это - я полностью согласен с ее проблемы.

В целом, после долгих экспериментов и попыток, я в значительной степени отказался от T4 - он просто еще не готов к использованию в прайм-тайм, по крайней мере, не для того типа шаблонов, с которыми я работал (в основном, проверка базы данных таблицы для извлечения значений, например, в качестве основы самодельной ORM, или для извлечения констант, настроек конфигурации и т. д.из базы данных)

И, экспериментируя с T4 в VS2010, я не уверен, сколько из этого было исправлено, правда .... не так много, кажется. Есть еще несколько интересных концепций ( предварительно обработанные шаблоны , предположительно поддержка параметров и т. Д.), Но большинство основных недостатков, похоже, все еще сохраняются .....

Итак, для сейчас: пока не выбрасывайте CodeSmith !! Возможно, T4 в VS2016 будет столь же мощным .... но до тех пор .....

Ресурсы:

24
ответ дан 30 November 2019 в 13:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: