Здравствуйте, LWhisper, Вы писали:
LW>T4 не предлагать.
LW>Необходимо прочитать текущую строчку, добавить в проект файл с новым типом и модифицировать 6 существующих.
LW>Хочется иметь полный контроль над формированием текста.
В свое решал похожую задачу для крупной системы и пришел к следующей связке, которая сильно упростила жизнь:
1. Пишем свой extension к студии
2. Внутри используем
runtime T4
3. Вызываем генератор там, где нужно, анализируя код Розлином
4. Создание файлов, модификация проекта и прочее доступно через EnvDTE
Преимущества по сравнению с дизайн-тайм Т4:
1. Вся кодогенерация пишется в *.cs файле, как обычный код
2. Можно написать простейшие тесты, которые будут как минимум выводить сгенеренный код на экран
3. Можно пойти дальше и написать реальные тесты, которые будут компилировать код и будут пытаться его выполнить