使用 MsBuild 发布数据库项目

Posted

技术标签:

【中文标题】使用 MsBuild 发布数据库项目【英文标题】:Publish database project using MsBuild 【发布时间】:2018-04-17 16:23:36 【问题描述】:

我的解决方案中有一个数据库项目。它带有Local.Datatabase.publish.xml。构建项目后,如果我双击 xml 文件,我可以将更改发布到本地数据库。

我喜欢自动化这个过程。使用MsBuild,我希望能够做同样的事情。

我已将 $msbuild 设置为 C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe

很遗憾,$msbuild /t:Publish /p:SqlPublishProfilePath="Local.Database.publish.xml" 不起作用。

如何?

【问题讨论】:

【参考方案1】:

数据库项目在构建后创建bacpac 文件。我可以使用sqlpackage,并将连接字符串作为参数汇集。

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120\SQLPackage.exe" /a:Publish /TargetConnectionString:"Data Source=(local); Initial Catalog=Database; Integrated Security=SSPI;" /SourceFile:"D:\project\bin\Debug\projectname.dacpac"

【讨论】:

文件类型为.dacpac。 dacpac 和 bacpac 都有。

以上是关于使用 MsBuild 发布数据库项目的主要内容,如果未能解决你的问题,请参考以下文章

让 MSBuild 和 CruiseControl .NET 构建和部署 VS2010 数据库项目

MSBuild a .dbproj 似乎运行了两次

带有嵌套引号的 Powershell 调用 msbuild

带有嵌套引号的 Powershell 调用 msbuild

为啥 Msbuild 任务无法部署数据库,但 Exec 工作正常

MSBuild,构建不同配置的依赖项目