CallTarget 工作
叫用專案檔內指定的目標。
工作參數
下表說明 CallTarget
工作的參數。
參數 | 描述 |
---|---|
RunEachTargetSeparately |
選擇性 Boolean 輸入參數。如果 true ,每個目標就會呼叫 MSBuild 引擎一次。 如果為 false ,會呼叫一次 MSBuild 引擎以建置所有目標。 預設值是 false 。 |
TargetOutputs |
選擇性的 ITaskItem[] 輸出參數。包含所有建置目標的輸出。 |
Targets |
選擇性的 String[] 參數。指定要建置的一或多個目標。 |
UseResultsCache |
選擇性的 Boolean 參數。如果是 true ,即傳回快取的結果 (如果有的話)。注意:執行 MSBuild 工作時,會在範圍 (ProjectFileName, GlobalProperties)[TargetNames] 內快取它的結果,當作組建項目清單。 |
備註
如果在 Targets
中指定的目標失敗,而 RunEachTargetSeparately
是 true
,則工作會繼續建置其餘的目標。
如果您想要建置預設目標,請使用 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>