3

我们已经开始使用本地 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"

但它仍然指向 (local)\sql2012 而不是 SomeOtherPC\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 回答