MvcScaffolding новый проект и добавить его в решение (крупномасштабная генерация)

#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) делать практически все, что вы сами можете сделать на своем компьютере.

Но из интереса, почему вы хотите создавать целые проекты? т.е. вы уверены, что это экономит время?