Team Services构建定义缺少已发布工件中的dacpac

时间:2017-07-17 11:44:34

标签: visual-studio-2015 azure-pipelines

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

使用ASP.NET(PREVIEW)模板构建我的解决方案中的两个项目但是我发现我的SQL Server数据库项目中的dacpac没有作为工件发布而不在C:\agent\_work\11\a文件夹中

我是否需要为我的解决方案中的每个项目创建一个构建定义?如果是这样,应该如何配置参数Path to solution or packages.config

或者,我只需要在我的构建定义中添加Copy Files任务,以将dacpacs传输到C:\agent\_work\11\a文件夹中吗?

2 个答案:

答案 0 :(得分:2)

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

如果您这样做并且您的DACPAC文件仍然不在工件暂存文件夹中,那么您可能正在构建错误的东西,或者构建具有您的SSDT项目集的解决方案配置/平台不建立。

答案 1 :(得分:0)

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

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