Visual studio 2015 Team Services生成定义在已发布的构件中缺少DACPAC

Visual studio 2015 Team Services生成定义在已发布的构件中缺少DACPAC,visual-studio-2015,azure-pipelines,Visual Studio 2015,Azure Pipelines,我正在尝试在Visual Studio Team Services中为包含MVC项目和SQL Server数据库项目的解决方案设置CI/CD 使用ASP.NET(预览)模板,我的解决方案中的两个项目都可以生成,但我发现我的SQL Server数据库项目中的dacpac没有作为工件发布,也不在C:\agent\\u work\11\a文件夹中 我是否需要为解决方案中的每个项目创建两个构建定义?如果是这样,应如何配置参数路径到solution或packages.config 或者,我只需要向生成定义

我正在尝试在Visual Studio Team Services中为包含MVC项目和SQL Server数据库项目的解决方案设置CI/CD

使用ASP.NET(预览)模板,我的解决方案中的两个项目都可以生成,但我发现我的SQL Server数据库项目中的dacpac没有作为工件发布,也不在
C:\agent\\u work\11\a
文件夹中

我是否需要为解决方案中的每个项目创建两个构建定义?如果是这样,应如何配置参数
路径到solution或packages.config


或者,我只需要向生成定义中添加一个
Copy Files
任务,将DACPAC传输到
C:\agent\\u work\11\a
文件夹中?

通常,我向MSBuild或Visual Studio生成步骤提供
/p:OutDir=$(build.artifactstagindirectory)
的MSBuild参数。这将强制所有输出放在工件暂存文件夹中


如果您这样做,并且您的DACPAC文件仍然不在工件暂存文件夹中,那么您可能构建了错误的东西,或者构建了一个将SSDT项目设置为“不构建”的解决方案配置/平台。

解决方案中有web和数据库项目,您需要使用额外的任务将数据库项目输出复制到工件文件夹。(例如,复制文件任务)


参数:
/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFile=true/p:SkipinValidConfiguration=true/p:PackageLocation=“$(build.artifactstagingdirectory)\\”
用于发布web项目,它不会发布数据库项目

这是默认的MSBuild参数
/p:DeployOnBuild=true/p:WebPublishMethod=Package/p:PackageAsSingleFile=true/p:SkipinValidConfiguration=true/p:PackageLocation=“$(build.artifactstagingdirectory)\\”
它在工件中生成了5个文件。这与您建议的
OutDir
属性有什么区别?@mheptinstall此参数用于发布web项目,它不会发布数据库项目,因此您需要添加复制文件任务以将dacpacs文件复制到工件文件夹。Daniel Mann的回答对我有效。只有将/p:OutDir=$(Build.ArtifactStagingDirectory)添加到Visual Studio生成任务中,才会将DACPAC文件发布到drop文件夹中。按照我的建议,提供一个额外的
/p:OutDir=$(Build.ArtifactStagingDirectory)
参数可以完成同样的任务,而不需要额外的复制文件任务。我经常这样做。@DanielMann是的,但是web project也会输出到工件文件夹,这些文件应该打包在zip文件中。你用我们的解决方案解决了这个问题吗?