#model-view-controller #code-generation #t4 #scaffolding
#model-view-controller #генерация кода #t4 #создание строительных лесов
Вопрос:
Если я хочу крупномасштабную генерацию и определить
Приложение = Фреймворк (бинарные компоненты ядра) Сгенерированный код Пользовательский код
Как бы мне создать платформу генерации кода с использованием scaffolding для генерации нескольких проектов и связанных файлов из некоторых метаданных (скажем, модели DSL, определенной в папке решения)
Я знаю, что могу использовать командлеты MvcScaffolding powershell для добавления файлов к текущему в другом проекте.
Мне нужно знать, могу ли я добавить новый проект (библиотеку классов, веб-приложение) к текущему решению из какого-либо шаблона проекта, применить преобразование исходного кода и, возможно, объединить некоторые пользовательские данные. Это позволило бы добавлять дополнительные файлы, и я бы предпочел, чтобы создание проекта и добавление некоторых файлов изначально выполнялись в одной строке powershell на основе некоторых входных параметров (скажем, имя некоторой модели DSL, XSD-схемы, XML-данных)
Могу ли я просто создать новое решение и вызвать некоторые каркасы? Существуют ли каркасы на уровне решения?
Я хотел бы иметь каркасную структуру, напоминающую фабрики программного обеспечения (Web service software factory). Есть примеры, идеи, статьи?
Спасибо, Рад
Ответ №1:
Я не вижу никаких причин, почему бы и нет.
Ваши шаблоны T4 могут получать доступ к EnvDTE и, таким образом, выполнять всевозможные забавы В сравнении С автоматизацией, и, конечно, сценарии powershell .ps1 могут (я полагаю — я не гуру powershell) делать практически все, что вы сами можете сделать на своем компьютере.
Но из интереса, почему вы хотите создавать целые проекты? т.е. вы уверены, что это экономит время?