5

我正在尝试使用 TeamCity 在构建数据库项目后自动发布它。

我正在使用带有“发布”目标的 MSBuild 运行器

我的 SQL 项目包含一个发布配置文件“Test.publish.xml”

我使用这个 MSBuild 参数告诉 MSBuild 要使用哪个发布配置文件:

/p:SqlPublishProfilePath=Test.publish.xml

项目的输出路径已经修改,所以默认的“bin\Output”是“sql\Staging”

当构建步骤执行时,我收到错误:

[12:19:11]Step 3/3: Publish (MSBuild) (5s)
[12:19:15][Step 3/3] Alpha\Alpha.sqlproj.teamcity: Build target: Publish
[12:19:15][Alpha\Alpha.sqlproj.teamcity] SqlPublish
[12:19:15][SqlPublish] SqlPublishTask
[12:19:15][SqlPublishTask] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\SSDT\Microsoft.Data.Tools.Schema.SqlTasks.targets(1717, 5): File "D:\BuildAgent\work\8c364da49a1f90ba\Alpha\bin\Output\Alpha.sqlproj.dacpac" does not exist.
[12:19:16][Step 3/3] Step Publish (MSBuild) failed

因此,如您所见,它正在标准 bin\Output 目录中查找 .dacpac 文件,而不是修改后的输出目录路径。此外,它期望 dacpac 文件被称为Alpha.sqlproj.dacpac,但我的 dacpac 文件被称为Alpha.dacpac

我需要做的是告诉 MSBuild 在哪里可以找到 dacpac 文件,因为它没有注意到自定义构建输出目录。是否有另一个 MSBuild 参数或我可以添加到我的发布配置文件的东西?

我知道我可以使用 sqlpackage.exe 作为一个简单的替代方案,但它似乎不在计算机上(位于 C:\Program Files\Microsoft SQL Server\110\DAC\bin),尽管安装了 SQL Server Data Tools 并且那是我正在努力的另一场战斗……

4

0 回答 0