Генерация кода T4 без Visual Studio 2010? - PullRequest
4 голосов
/ 29 июля 2010

Возможно ли запускать генерацию кода T4 без использования Visual Studio 2010? По сути, я должен построить в доме ORM (не спрашивайте .. если бы у меня был выбор, я бы не стал). Я планировал использовать дозвуковую основу, но изменить некоторые вещи и то, как они работают. Однако мой главный вопрос: могу ли я запустить T4 из внешнего приложения, которое я пишу, чтобы я мог использовать функции T4? Или мне лучше сделать это самому (в чем я сомневаюсь)?

Ответы [ 4 ]

7 голосов
/ 30 июля 2010

TextTransform.exe будет делать то, что вы хотите для простых сценариев:

http://msdn.microsoft.com/en-us/library/bb126245.aspx

Вот как запустить шаблон T4 из вашего собственного кода для шаблонов, созданных в VS 2010:

http://msdn.microsoft.com/en-us/library/ee844259(VS.100).aspx

А вот как запустить шаблон T4 из собственного кода для шаблонов, созданных в VS 2008:

http://www.capprime.com/software_development_weblog/PermaLink,guid,104d9faf-5780-42ca-88e5-c04cb88f61b3.aspx

Тамбудут некоторые проблемы с запуском шаблонов Subsonic T4 вне Visual Studio:

Как я могу автоматизировать генерацию кода t4 для SubSonic

Я бы придерживался T4, а не бросал свойшаблонизатор.

3 голосов
/ 08 августа 2010

T4 является частью Visual Studio. Если ваш инструмент ORM может предположить, что Visual Studio доступен, T4 - хороший выбор. У вас есть возможность перераспределить оболочку Visual Studio, которая также включает T4, с вашим приложением. Кроме того, вы можете использовать предварительно обработанные шаблоны для компиляции шаблонов в генераторы исполняемого кода. В скомпилированной форме эти шаблоны не требуют Visual Studio, но также не могут быть изменены.

Олег

0 голосов
/ 29 июля 2010

Существует утилита командной строки TextTransform.exe, которую вы можете использовать для генерации кода для шаблона T4. Я не могу комментировать, если это правильный инструмент для построения ORM, но он мне нравится достаточно хорошо для создания конечных автоматов из файла XML.

http://msdn.microsoft.com/en-us/library/bb126245.aspx

0 голосов
/ 29 июля 2010

Шаблоны AFAIK T4 вызываются из среды IDE Visual Studio.

Для построения ORM требуется больше, чем текстовые шаблоны.Я предлагаю вам взглянуть на AtomWeaver (по адресу http://www.atomweaver.com), который является генератором кода, который позволяет создавать модели из отдельных строительных блоков (называемых «атомами»). Эти атомы являются умными шаблонами, которые действуют как текстовые шаблоны, так и как мини-программы, позволяющие вам делать гораздо больше, чем просто подстановка строк.

Вы можете разработать свои собственные «атомы», которые преобразуют структуру базы данных в исходный код. Затем для каждой новой базы данных вы комбинируете эти атомы для созданиявашей схемы и запустите генератор для получения исходного кода. Поскольку то, что вы создали, на самом деле являлось моделью вашей БД, вы можете позже внести любые изменения и восстановить свой код.

AtomWeaver реализует ABSE, aвид разработки программного обеспечения на основе моделей (не имеет ничего общего с UML или MDA). Изучите механику ABSE на http://www.abse.info

В настоящее время AtomWeaver находится в публичной бета-версии. На данный момент не так много документации,так что вам может быть трудно набрать скорость.

...