2014-10-22 2 views
0

Я создал шаблон проекта, который имеет базу данных SQL и файл dbml Linq2SQL. Проект, созданный с использованием этого шаблона, не будет компилироваться из-за очевидного недостающего кода, но если вы щелкнете правой кнопкой мыши по файлу dbml и вызовите Run Custom Tool, то отсутствует код, и после этого компиляция завершится успешно.Генерирование кода триггера в шаблоне проекта VS

Что мне нужно сделать с моим шаблоном проекта, чтобы он запускал генерацию кода? Я знаю систему расширения IWizard для шаблонов проектов, но я понятия не имею, как программным способом заставить IDE выполнять генерацию кода.

Вопрос в следующем: Как в реализации мастера для использования в шаблоне проекта вы запускаете генерации кода IDE?

ответ

0

Одним из возможных методов может быть добавление события заранее сборки на свой проект, который запускает пакетный файл [transformer.bat] и выполняет ваше преобразование:

Получить список файлов, которые должны быть преобразованы с помощью что-то как следующее в transformer.bat:

dir %wdir%\*.tt /b /s > myFiles.txt 

и запустить утилиту TextTransform против них, подобный следующему:

for /f %%d in (myFiles.txt) do (
set file_name=%%d 
set file_name=!file_name:~0,-3!.%extension% 
TextTransform.exe -out !file_name! %%d 
) 

Ключевым моментом является событие pre-Build и создание командного файла, который запускает утилиту TextTransform.

Если вы более склонялся к MSBuild integration вам нужно придумать somehting как следующее:

<PropertyGroup> 
    <TransformOnBuild>true</TransformOnBuild> 
</PropertyGroup> 
..... 

В ваших Tt файлов.

Transforming Templates in a build

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