我有一个ClickOnce项目,我正在DevOps上发布。我已将DevOorm解决方案在DevOps中的构建阶段的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.SqlTasks.targets(1808,5):错误MSB4044: “SqlPublishTask”任务未获得所需参数“SqlPublishProfilePath”的值
据推测它失败了,因为SSDT的构建参数中没有指定发布配置文件。
我不希望MSBuild将DacPac发布到服务器,我只是想让它创建DacPac。如何阻止/target:Publish
触发SSDT发布,是否有另外的构建参数可以添加以阻止发生这种情况?
关于到目前为止我尝试解决这个问题的注意事项,其中没有一个有效:
最终我以完全不同的方式解决了这个问题。我没有让MSBuild做我想做的事情,而是将解决方案配置分成两部分,一部分用于数据库,另一部分用于没有数据库的WinForms项目。
然后我在DevOps上使用了两个独立的VS Build阶段,只有WinForms阶段仍然设置了was looking at this question for ideas on that。
official documentation for SqlPackage.exe,但是仍然想知道在目标设置为Publish时是否有可能告诉MSBuild不构建SSDT的答案?