このチュートリアルでは、カスタム ワークフローを定義して Team Foundation ビルドからデータベースを展開する方法を示します: 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 ファイルのスニペットは正しくありません。そのスニペットは、TFS ビルドではなく、ローカル ビルドによって生成された .deploymanifest ファイルから取得しました。TFS ビルドによって生成された .deploymanifest が正しくないため、使用されている構成を調査し、最終的に問題を解決しました (以下の回答を参照)。
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.