Deployment 在生成sqlproj时指定连接字符串

Deployment 在生成sqlproj时指定连接字符串,deployment,msbuild,sqlproj,Deployment,Msbuild,Sqlproj,我们已经开始使用本地SQL Server(SQL 2012)进行开发。我们有一个工具,可以调用MSBUILD将SQL项目(.sqproj)部署到本地、开发和测试数据库 在我们希望使用该工具部署到其他本地数据库的地方,出现了一个需求—这是一件罕见的事情,但却是必需的 我们为每个正常环境(dev.publish.xml、test.publish.xml、local.publish.xml,其中local指向(local)\SQL2012)设置了一个.publish.xml文件 我们通常运行: msb

我们已经开始使用本地SQL Server(SQL 2012)进行开发。我们有一个工具,可以调用MSBUILD将SQL项目(.sqproj)部署到本地、开发和测试数据库

在我们希望使用该工具部署到其他本地数据库的地方,出现了一个需求—这是一件罕见的事情,但却是必需的

我们为每个正常环境(dev.publish.xml、test.publish.xml、local.publish.xml,其中local指向(local)\SQL2012)设置了一个.publish.xml文件

我们通常运行:

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"

但它仍然指向(本地)\sql2012,而不是SomeOtherPC\sql2012

为此创建不同的发布配置文件,并用所需的详细信息(SomeOtherPC、SQL 2012等)填充它

并将其作为参数传递给MSBuild

msbuild.exe /t:build;publish /p:SqlPublishProfilePath="SomeOtherPC.publish.xml"

谢谢这就是我们最终要做的,我只是忘了回到这里并更新一个答案
msbuild.exe /t:build;publish /p:SqlPublishProfilePath="SomeOtherPC.publish.xml"