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