Это именно то, что мне было нужно. Пожалуйста, смотрите здесь PNG, который отображает все следующие пункты:
- Сначала я организовал набор аргументов в своем шаблоне процесса сборки, где я установил целевой хост базы данных, пользователя и пароль. (См. Раздел «Аргумент»)
- На случай, если текущим модульным тестам проекта требуется работающая БД, я установил в «Элементы для сборки» 2 разных проекта:
- В первом слоте * .dbproj
- Во втором самом SLN
- Теперь в шаблоне процесса сборки я расширил «Запуск MSBuild для проекта» как последовательность (см. «Последовательность»), гарантируя, что аргументы MSBuild отличаются в левом случае:
Аргументы для MSBuild с левой стороны («Запустить MSBuild + Deploy DB»):
String.Format("/p:SkipInvalidConfigurations=true /t:Build;Deploy /p:TargetConnectionString=""Data Source={0}%3Buser={1}%3Bpwd={2}"" /p:DeployToDatabase=true /p:TargetDatabase={3}_{4} {5}",
TargetMachineToDeployDB, DBUsername, DBPassword, DBName, BuildDetail.BuildNumber.Replace(".", "_"), MSBuildArguments)
Если это не слишком очевидно, связь между аргументами и отображаемыми параметрами в определении:
- TargetMachineToDeployDB = "Имя ПК, на котором должна быть развернута база данных" *
- DBUsername = "Имя пользователя базы данных"
- DBPassword = "Пароль базы данных"
- DBName = "Имя префикса базы данных" (я согласен с текущим именем сборки)
Аргументы для MSBuild с правой стороны («Запустить MSBuid для SLN / Project»):
String.Format("/p:SkipInvalidConfigurations=true {0}", MSBuildArguments)
Обратите внимание, что если я развернул БД с левой стороны, я также установлю DBHasBeenSet в TRUE, что также вызовет некоторую обработку файлов внутри "Адаптации в исходных файлах". К ним относится перенаправление наших библиотек NUnit на вновь созданную БД. Я могу установить более подробную информацию об этом, если хотите.