如何:指定运行预先生成或后期生成的自定义操作

如果必须在生成和部署数据库项目之前或之后执行操作,可以通过指定预先生成或后期生成命令行来执行这些操作。 可以通过使用项目属性来指定这些命令行。 例如,在以下情况下可以使用预先生成或后期生成命令行:

  • (预先生成)将 .sql 文件从 SQLCLR 项目复制到架构对象中,以便数据库项目和 SQLCLR 项目同步。

  • (后期生成)实现生成结果、压缩生成结果或者运行 XSD.EXE 以更新 DataSet 类。

指定预先生成命令行

  1. 在**“解决方案资源管理器”中,右击要为其指定预先生成命令行的数据库项目,再单击“属性”**。

  2. 在**“项目属性”窗口中单击“生成事件”**选项卡。

  3. 执行下列操作之一:

    1. 如果已知要执行的命令行,请在**“预先生成事件命令行”**中键入要在生成数据库项目之前执行的命令行,然后转到步骤 5。

    2. 如果要使用生成宏,请单击**“编辑预先生成事件”。 在“预先生成事件命令行”对话框中,键入要执行的命令行。 可以单击列表中的宏并单击“插入”**将其插入到命令行中。

  4. 在完成命令行的编辑之后,请单击**“确定”**。

  5. 在**“文件”菜单上,单击“保存选定项”**保存对项目属性进行的更改。

    下次生成数据库项目时,该命令行将在生成数据库项目之前执行。

指定后期生成命令行

  1. 在**“解决方案资源管理器”中,右击要为其指定后期生成命令行的数据库项目,再单击“属性”**。

  2. 在**“项目属性”窗口中单击“生成事件”**选项卡。

  3. 执行下列操作之一:

    1. 如果知道要执行的命令行,请在**“后期生成事件命令行”**中键入数据库项目生成后要执行的命令行,然后转到步骤 5。

    2. 如果要使用生成宏,请单击**“编辑后期生成事件”。 在“后期生成事件命令行”对话框中,键入要执行的命令行。 可以单击列表中的宏并单击“插入”**将其插入到命令行中。

  4. 在完成命令行的编辑之后,请单击**“确定”**。

  5. 如果希望仅在生成成功时才运行命令行,请在**“运行后期生成事件”列表中,单击“成功生成时”。 如果希望命令行总是运行(即使生成失败时),请在“运行后期生成事件”列表中,单击“总是”**。

  6. 在**“文件”菜单上,单击“保存选定项”**保存对项目属性进行的更改。

    下次生成数据库项目时,该命令行将在生成数据库项目之后执行。

请参见

任务

如何:生成数据库项目以生成经过编译的架构 (.dbschema) 文件

如何:将更改部署到新数据库或现有数据库

参考

预生成事件/生成后事件命令行对话框(数据库项目)

概念

数据库项目设置概述