在“生成事件”窗格中,通过在**“预先生成事件命令行”或“后期生成事件命令行”框中直接键入相应命令,可以创建预先生成事件或后期生成事件。 或者也可以单击“编辑预先生成事件”或“编辑后期生成事件”**,然后从可用宏列表中指定一个或多个预先生成宏或后期生成宏。
提示
如果项目是最新的且没有触发任何生成,则不会运行预生成事件。 通过单击“生成事件”窗格上“运行后期生成事件”列表中的选项,可以控制后期生成事件。
- “预先生成事件命令行”和“后期生成事件命令行” 
 包含要在生成前后运行的事件。- 注意 应在运行 .bat 文件的每个后期生成命令之前添加 call 语句。 例如,可以添加 call C:\MyFile.bat 或 call C:\MyFile.bat call C:\MyFile2.bat。 
- 宏 
 显示或隐藏可作为预先生成或后期生成事件插入的宏的列表。
- 宏表 
 列出可用的宏及其值。 有关各宏的描述,请参见下一节。 将宏作为预先生成或后期生成事件插入时,一次只能单击一个宏。
- Insert 
 将指定宏作为预先生成或后期生成事件插入。
宏
可以使用下表中的任意宏指定文件的位置,或者在多重选择的情况下获取输入文件的实际名称。 这些宏不区分大小写。
| 宏 | 说明 | 
|---|---|
| $(Configuration) | 当前项目配置的名称(例如,“Default”)。 | 
| $(MSBuildProjectName) | 项目的基本名称。 | 
| $(MSBuildProjectExtension) | 项目的文件扩展名。 它在文件扩展名的前面包括“.”。 | 
| $(PlatformName) | 当前目标平台的名称(例如,“AnyCPU”)。 | 
| $(OutputPath) | 生成的主输出文件的路径名(定义为驱动器 + 路径 + 基名称 + 文件扩展名)。 | 
| $(OutputType) | 项目的输出类型。 对于数据库项目,此类型为“database”。 | 
| $(DBProduct) | 数据库项目定向的 SQL Server 的版本。 此结果将为 SQL Server 2008 或 SQL Server 2005。 | 
| $(TargetDatabase) | 目标数据库的名称。 | 
| $(TargetConnectionString) | 用于连接到目标数据库当前驻留(或将驻留)的服务器的连接字符串。 | 
| $(MSBuildBinPath) | MSBuild 二进制文件的路径(例如,C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727)。 | 
| $(DefaultSchema) | 非限定对象的默认架构。 | 
| $(SolutionDir) | 解决方案的目录(定义为驱动器 + 路径)。 此结果包括尾部的反斜杠“\”。 | 
| $(SolutionPath) | 解决方案的绝对路径名(定义为驱动器 + 路径 + 基本名称 + 文件扩展名)。 | 
| $(SolutionName) | 解决方案的基名称。 | 
| $(SolutionFileName) | 解决方案的文件名(定义为基本名称 + 文件扩展名)。 | 
| $(SolutionExt) | 解决方案的文件扩展名。 此结果包括文件扩展名前面的“.”。 | 
| $(DevEnvDir) | Visual Studio 2005 的安装目录(定义为驱动器 + 路径)。此结果包括尾部的反斜杠“\”。 |