【问题标题】:Stop SSDT being published when MSBuild publish run在 MSBuild 发布运行时停止发布 SSDT
【发布时间】:2019-02-23 16:59:22
【问题描述】:

我有一个在 DevOps 上发布的 ClickOnce 项目。我已将 DevOps 中 WinForm 解决方案构建阶段的 MSBuild Arguments 属性设置为 /target:Publish 以触发所有 ClickOnce 文件的创建:

但是,该解决方案还包含一个 SSDT 项目,并且添加 /target:Publish 设置似乎会导致构建过程也尝试发布 SSDT。然后失败并出现错误:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Microsoft\VisualStudio\v15.0\SSDT\Microsoft.Data.Tools.Schema.SqlTask​​s.targets(1808,5): 错误 MSB4044:“SqlPublishTask”任务没有为 必需参数“SqlPublishProfilePath”

可能它失败了,因为没有在构建参数中指定供 SSDT 使用的发布配置文件。

我不希望 MSBuild 将 DacPac 发布到服务器,我只希望它创建 DacPac。如何阻止 /target:Publish 触发 SSDT 发布,是否可以添加另一个构建参数来阻止这种情况发生?

关于我迄今为止尝试解决此问题的方法的说明,但均未奏效:

【问题讨论】:

    标签: msbuild azure-devops sql-server-data-tools dacpac


    【解决方案1】:

    最终我以完全不同的方式解决了上述问题。我没有让 MSBuild 做我想做的事,而是将解决方案配置一分为二,一个阶段用于数据库,一个阶段用于没有数据库的 WinForms 项目。

    然后我在 DevOps 上使用了两个单独的 VS Build 阶段,只有 WinForms 阶段仍然设置了/target:Publish

    I've written that up here,但仍想知道当目标设置为发布时是否可以告诉 MSBuild 不要构建 SSDT 的答案?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-29
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-04-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多