CruiseControl.NET : Игнорировать проекты БД при сборке

#cruisecontrol.net #devenv #dbproj

#cruisecontrol.net #devenv #dbproj

Вопрос:

После обновления до VS2010 у нас есть несколько файлов .dbproj, которые вызывают проблемы в наших сборках CI. Они все равно ничего не делают, кроме как просто хранят файлы SQL, поэтому я бы хотел просто игнорировать их. Я запускаю CruiseControl.Подключаю и создаю свое решение с devenv.com . Есть ли у меня какой-нибудь способ сообщить сборке, что я хочу игнорировать эти проекты или все проекты .dbproj?

Ответ №1:

Один из способов сделать это — создать новую конфигурацию решения в Visual Studio. Перейдите в меню Debug, а затем Configuration Manager. Создайте новую конфигурацию, а затем исключите свои проекты .dbproj.

Затем используйте это имя конфигурации в командной строке devenv.com вместо ‘Debug’ или ‘Release’

Комментарии:

1. На самом деле, поддерживать другую конфигурацию только для сборки — это слишком обширно.

2. @Hertzel Обслуживание минимально. Мы делаем это в нескольких решениях для нашего текущего проекта. По умолчанию элементы, добавленные в одну конфигурацию, добавляются ко всем. Таким образом, нет никакой реальной работы, кроме начальной настройки.

3. два хороших момента, хотя я по-прежнему предпочитаю функцию исключения из сборки.

Ответ №2:

  • Поскольку это просто проект контейнера файлов, вы могли бы просто исключить его из сборки Debug и Release
  • Используйте msbuild вместо devenv, и он будет поддерживать функцию «исключено из сборки» (я думаю, что devenv этого не делает)

(В некоторой степени) альтернативой было бы перевести проект в библиотеку классов (которая на самом деле ничего не создаст …)

Примером задачи MSBUILD может быть:

 <msbuild>
  <executable>C:WINDOWSMicrosoft.NETFrameworkv3.5MSBuild.exe</executable>
  <workingDirectory>project_solution_path</workingDirectory>
  <projectFile>project_solution_file</projectFile>
  <buildArgs>/p:Configuration=Debug /p:VCBuildAdditionalOptions="/useenv" /v:diag /t:rebuild</buildArgs>
  <timeout>300</timeout>
</msbuild>
  

HTH