2010-07-29 4 views
4

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

ответ

0

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

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

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

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

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

0

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

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

7

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 t emplate из собственного кода для шаблонов, созданных в VS 2008:

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

Там будут какие-то вопросы, работающие дозвуковых шаблоны T4 вне Visual Studio:

How can I automate the t4 code generation for SubSonic

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

3

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

Oleg

Смежные вопросы