指定要首先生成的 MSBuild 目标
MSBuild 项目文件可以包含一个或多个目标,用于定义项目的生成方式。 MSBuild 会生成它找到的第一个目标,以及任何依赖项,除非:
Project
元素包含InitialTargets
属性。Project
元素包含DefaultTargets
属性。- MSBuild 命令具有用于指定目标的
-target
参数。
使用 InitialTargets 属性
Project
元素的 InitialTargets
属性指定先运行的初始目标。 它会替代你在命令行上使用 MSBuild 或在 Project
元素的 DefaultTargets
属性中指定的任何目标。
指定单个初始目标
在 Project
元素的 InitialTargets
属性中指定默认目标。 例如:
<Project InitialTargets="Clean">
指定多个初始目标
可以在 Project
元素的 InitialTargets
属性中指定多个初始目标。 按顺序列出目标,并使用分号分隔每个目标。 列表中的目标按顺序运行。
例如,若要运行 Clean
目标,然后运行 Compile
目标,请输入:
<Project InitialTargets="Clean;Compile">
使用 DefaultTargets 属性
Project
元素的 DefaultTargets
属性指定如果未在命令行上显式指定目标,将生成哪个或哪些目标。
如果在 Project
元素的 InitialTargets
和 DefaultTargets
属性中指定了目标,并且命令行中未指定任何目标,则 MSBuild 将运行 InitialTargets
属性中指定的目标,后跟 DefaultTargets
属性中指定的目标。
指定单个默认目标
在 Project
元素的 DefaultTargets
属性中指定默认目标。 例如:
<Project DefaultTargets="Compile">`
指定多个默认目标
可以在 Project
元素的 DefaultTargets
属性中指定多个默认目标。 按顺序列出默认目标,并使用分号分隔每个目标。 列表中的目标按顺序运行。
例如,若要运行 Clean
目标,然后运行 Compile
目标,请输入:
<Project DefaultTargets="Clean;Compile">
使用 -target 开关替代默认目标
如果未在项目文件中定义默认目标,或者不想使用定义的默认目标,则可以使用命令行开关 -target
指定其他目标。 运行的是使用 -target
开关指定的一个或多个目标,而不是 Project
元素的 DefaultTargets
属性指定的目标。 InitialTargets
属性中指定的目标会始终优先运行。
使用单个目标替代默认目标
使用带有冒号 (:) 和目标名称的 -target
命令行切换,指定要用作第一个目标的目标。 例如:
msbuild file.proj -target:Clean
使用多个目标替代默认目标
指定要用作第一个目标的目标列表,并使用 -target
命令行开关用分号分隔它们。 例如:
msbuild <file name>.proj -t:Clean;Compile