В этом руководстве показано, как определить пользовательский рабочий процесс для развертывания базы данных из Team Foundation Build:
http://msdn.microsoft.com/en-us/library/ff805001.aspx
Однако, когда TFS пытается развернуть мою базу данных, он жалуется, что я должен указать строку подключения. Я предоставил файл .deploymanifest в качестве параметра командной строки, а в файле .deploymanifest есть строка подключения.
Почему VSDBCMD жалуется, что я не ввел строку подключения?
Он также жалуется на неразрешенные ссылки, которые также содержатся в файле .deploymanifest.
Ниже приведены несколько верхних строчек моего файла .deploymanifest:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetConnectionString>Data Source=SQL2K8DEV;Integrated Security=True;Pooling=False</TargetConnectionString>
<TargetDatabase>Super_DB</TargetDatabase>
<DeployToDatabase>True</DeployToDatabase>
<DeployToScript>True</DeployToScript>
.
.
.
РЕДАКТИРОВАТЬ: Фрагмент файла .deploymanifest выше не является правильным. Я взял этот фрагмент из файла .deploymanifest, сгенерированного моей локальной сборкой, а не сборкой TFS. .Deploymanifest, сгенерированный сборкой TFS, был неверным, что привело меня к исследованию используемой конфигурации, что в конечном итоге решило мою проблему (см. Ответ ниже).
А вот ошибки, которые я получаю от VSDBCMD:
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VSTSDB\Deploy\VSDBCMD.EXE /a:Deploy /dd+ /dsp:Sql /manifest:RTS.deploymanifest
Before you can deploy a database, you must specify a connection string in the project properties or at a command prompt.
TSD\\TXDASQL2K8DEV\RTS_Deploy\DEV_Nightly_build\RTS Development Nightly Build\RTS Development Nightly Build_20111202.7\RTS.dbschema (380,7)
- The reference to external elements from the source named 'Master.dbschema' could not be resolved, because no such source is loaded.