指定要先建置的 MSBuild 目標
MSBuild 項目檔可以包含一或多個定義專案建置方式的目標。 MSBuild 會建置它找到的第一個目標,以及任何相依性,除非:
-
Project
元素包含InitialTargets
屬性。 -
Project
元素包含DefaultTargets
屬性。 - MSBuild 命令具有指定目標的
-target
參數。
使用 InitialTargets 屬性
Project
元素的 InitialTargets
屬性指定首先執行的初始目標。 它會覆寫您在命令列或 Project
元素的 DefaultTargets
屬性中使用 MSBuild 所指定的任何目標。
指定單一初始目標
在 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