代码之家  ›  专栏  ›  技术社区  ›  tomRedox

运行msbuild publish时停止发布ssdt

  •  0
  • tomRedox  · 技术社区  · 5 年前

    我有一个clickonce项目,我正在devops上发布。我已经设定了 MSBuild Arguments DevOps中Winform解决方案的生成阶段的属性 /target:Publish 要触发创建所有ClickOnce文件:

    enter image description here

    但是,该解决方案还包含一个ssdt项目,并添加 /目标:发布 设置似乎会导致生成进程也尝试发布ssdt。然后失败并出现错误:

    C:\程序文件(x86)\ Microsoft Visual studio\2017\enterprise\msbuild\microsoft\visualstudio\v15.0\ssdt\microsoft.data.tools.schema.sqltasks.targets(1808,5年): 错误MSB4044:“SqLPusiStaskTe使命”任务没有给 必需参数“SqlPublishProfilePath”

    可能是因为在ssdt使用的生成参数中没有指定发布配置文件,所以它失败了。

    我不希望msbuild将dacpac发布到服务器,我只希望它创建dacpac。我怎么能阻止 /目标:发布 触发“自动播放”发布,是否可以添加另一个构建参数来阻止这种情况发生?

    关于我到目前为止试图解决这个问题的注意事项,这些都没有起作用:

    0 回复  |  直到 5 年前
        1
  •  0
  •   tomRedox    5 年前

    最终我以完全不同的方式解决了上面的问题。我没有让msbuild做我想做的事情,而是将解决方案配置分成两个阶段,一个阶段用于数据库,另一个阶段用于不带数据库的winforms项目。

    然后我在devops上使用了两个独立的vs构建阶段,只有winforms阶段仍然有 /target:Publish 集合。

    I've written that up here ,但仍想知道是否可以在目标设置为发布时告诉msbuild不要生成ssdts的答案?