CallTarget 工作

叫用專案檔內指定的目標。

工作參數

下表說明 CallTarget 工作的參數。

參數 描述
RunEachTargetSeparately 選擇性 Boolean 輸入參數。

如果 true,每個目標就會呼叫 MSBuild 引擎一次。 如果為 false,會呼叫一次 MSBuild 引擎以建置所有目標。 預設值是 false
TargetOutputs 選擇性的 ITaskItem[] 輸出參數。

包含所有建置目標的輸出。
Targets 選擇性的 String[] 參數。

指定要建置的一或多個目標。
UseResultsCache 選擇性的 Boolean 參數。

如果是 true,即傳回快取的結果 (如果有的話)。

注意:執行 MSBuild 工作時,會在範圍 (ProjectFileName, GlobalProperties)[TargetNames] 內快取它的結果,當作組建項目清單。

備註

如果在 Targets 中指定的目標失敗,而 RunEachTargetSeparatelytrue,則工作會繼續建置其餘的目標。

如果您想要建置預設目標,請使用 MSBuild 工作,並設定 Projects 參數等於 $(MSBuildProjectFile)

使用 CallTarget 時,MSBuild 會評估新範圍中呼叫的目標,而不是從中呼叫的相同範圍。 這表示呼叫目標中的任何項目和屬性變更都看不到呼叫目標。 若要將資訊傳遞至呼叫目標,請使用 TargetOutputs 輸出參數。

除了上述所列的參數,此項工作還會繼承 TaskExtension 類別中的參數,而該類別本身又繼承 Task 類別。 如需這些其他參數的清單及其描述,請參閱 TaskExtension 基底類別

範例

下列範例會從 CallOtherTargets 的內部呼叫 TargetA

<Project DefaultTargets="CallOtherTargets"
    xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

    <Target Name="CallOtherTargets">
        <CallTarget Targets="TargetA"/>
    </Target>

    <Target Name="TargetA">
        <Message Text="Building TargetA..." />
    </Target>

</Project>

另請參閱