Лучший способ управлять сгенерированный код при автоматизированной компоновке ?

В моем автоматизированных NAnt построить у нас есть шаг, который создает много кода из базы данных (с Дозвуковой) и код разделены на папки, которые соответствуют имя схемы в базу данных. Например:

  • /генерации кода
    • /dbo
      • SomeTable.cs
      • OtherTable.cs
    • /abc
      • Customer.cs
      • Order.cs

имена схемы существуют для того, чтобы изолировать классы, созданные на то, что приложение будет нужно. Например, есть ABC приложения, которые будут тянуть в сгенерированный код из этой Центральной папку. Я только и делаю, что на pre-build событие, вроде этого:

del /F /Q $(ProjectDir)Субъекты\произведенной*CS

скопируйте $(ProjectDir)....\генерации кода\abc*.cs $(ProjectDir)Субъекты\произведенной*CS

таким образом, на каждой сборке, Nant скрипт запускается генератор, который ставит весь код в Центральной места проведения, то она стартует решение строить... которая включает в себя заранее выстроить события по каждому из проектов, которые нуждаются в их сгенерированных классов.

Так вот трения, что я вижу:

1) Каждого нового приложения необходимо настроить этот событий до построения. Это как бы паршиво, чтобы сделать это.

2) В нашей сборки сервера мы не генерируют код, так что я на самом деле есть, ЕСЛИ $(имя-конфигурации) = = " " Отладка" перед каждым из тех команд, что меня не произойти для построения выпуска

3) Иногда команды неудачей, которая не нашей местной сборки. Это будет ошибкой если:- нет сгенерированный код еще (просто создание нового проекта в базе данных еще нет)- нет существующий код в каталоге (сначала построить)

как правило, это мелкие исправления и мы просто взломали наш путь к получению нового проекта, или нового станка с построения, но это не дает мне с моего 1 кнопкой мыши-построить " Нирвана".

Итак, я хотел бы услышать предложения по улучшению данного где она более долговечна. Может быть, перемещение, копирование кода в приложение папки в NAnt сценарий? Это выглядит каким-то задом ко мне, но я готов выслушать аргументы.

ОК, жарь :)

Найдено 3 ответа:

Best way to manage generated code in an automated build?

http://stackoverflow.com/questions/46149/best-way-to-manage-generated-code-in-an-automated-build

Посмотреть решение →