3

開発用にローカル 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 を指しています

4

1 に答える 1

2

このための別の発行プロファイルを作成し、必要な詳細 (SomeOtherPC、SQL 2012 など) を入力します。

SomeOtherPC.publish.xml

そして、それをパラメーターとして MSBuild に渡します

msbuild.exe /t:build;publish /p:SqlPublishProfilePath="SomeOtherPC.publish.xml"
于 2014-04-07T14:39:26.757 に答える