Msbuild 使用SqlPublishTask的dacpac文件路径的参数

Msbuild 使用SqlPublishTask的dacpac文件路径的参数,msbuild,teamcity,sqlproj,Msbuild,Teamcity,Sqlproj,我正在尝试使用TeamCity在数据库项目构建后自动发布它 我正在使用具有“发布”目标的MSBuild运行程序 我的SQL项目包含一个发布配置文件“Test.publish.xml” 我使用此MSBuild参数告诉MSBuild要使用哪个发布配置文件: /p:SqlPublishProfilePath=Test.publish.xml 项目的输出路径已修改,因此不是默认的“bin\output”,而是“sql\Staging” 当执行构建步骤时,我得到错误: [12:19:11]Step 3/

我正在尝试使用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数据工具,这是我正在进行的另一场战斗…

使用sqlpackage(或使用dacfx)要简单得多如果它不在计算机上,则可以将DAC文件夹(+sdk文件夹中的Transact-SQL.dll)放在某个位置并引用该文件夹(不需要安装)。这样做会使事情变得简单,你可以很快完成,早点回家!谢谢Ed,我终于找到了。它隐藏在一个不同的位置,每个人都在网上说!很酷,你能帮别人找到它吗?它不能回答这个问题,我的意思是我找到了sqlpakage exe。我仍然不知道如何告诉msbuild使用正确的输出目录。。