1

我有一个 VS 解决方案,其目的是通过 .sqlproj 发布一个 sql 数据库。它运行一个部署后脚本。我想为多个发布工作流设置它。我希望我的 sql 部署后脚本执行以下操作(伪代码):

if (VS build configuration is debug1)
BEGIN
  :r .\Debug1Setup.sql
END
else if (VS build configuration is debug2)
BEGIN
  :r .\Debug2Setup.sql
END

那可能吗?

4

1 回答 1

1

您可能可以为此利用 VS 中的构建后命令系统;在您的项目属性中,在构建事件选项卡上,您可以输入命令以及在命令运行之前由 VS 扩展的变量。$(ConfigurationName)填充有活动配置的名称。有关详细信息,请参阅https://docs.microsoft.com/en-us/visualstudio/ide/reference/pre-build-event-post-build-event-command-line-dialog-box?view=vs-2019。Pre/post build 像普通的 DOS 批处理文件一样执行;在 DOS 中运行的任何命令也适用于它们。

在此处输入图像描述

如果您要执行的命令不能(或不应该)放在构建后脚本中,您可以考虑使用修改其他文件的构建后脚本,传入构建配置 - 例如,您可以以编程方式创建批处理文件包含每次构建时的活动配置,但只运行该批处理文件几次

于 2019-10-16T14:44:40.140 回答