開発用にローカル SQL Server (SQL 2012) の使用を開始しました。MSBUILD を呼び出して SQL プロジェクト (.sqproj) をローカル、開発、テスト データベースのいずれかに展開するツールがあります。
そのツールを使用して他のローカル データベースに展開する必要があるという要件が発生しました。実行することはめったにありませんが、必要です。
通常の環境ごとに .publish.xml ファイルをセットアップしました (dev.publish.xml、test.publish.xml、local.publish.xml、local は (local)\SQL2012 を指します)。
通常は次のように実行します。
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="Local.publish.xml" "c:\workspaces\greg\...\databaseProject.sqlproj"
これは、local.publish.xml ファイルから接続文字列を取得し、SQL プロジェクトをローカル データベースにデプロイするため、正常に機能します。
パブリッシュ ファイルを上書きして別のデータベースを指すようにする方法がわかりません
私はもう試した
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="Local.publish.xml" /p:TargetConnectionString="Data Source=SomeOtherPC\SQL2012;Integrated Security=True;Pooling=False" "c:\workspaces\greg\...\databaseProject.sqlproj"
ただし、 SomeOtherPC\SQL2012 ではなく (local)\sql2012 を指しています