UsingTask 項目 (MSBuild)
將 Task 項目中參考的工作,對應至含有工作實作的組件。
<UsingTask TaskName="TaskName"
AssemblyName = "AssemblyName"
TaskFactory = "ClassName"
Condition="'String A'=='String B'" />
屬性和項目
下列章節會說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
AssemblyName |
必須有 AssemblyName 屬性或 AssemblyFile 屬性。 要載入的組件名稱。 AssemblyName 屬性接受強式名稱 (Strong Name) 的組件 (雖然強式名稱不是必要的)。 使用這項屬性就等於使用 .NET Framework 中的 Load 方法載入組件。 如果已經使用 AssemblyFile 屬性,就不能使用這項屬性。 |
AssemblyFile |
AssemblyName 或 AssemblyFile 屬性的其中一項是必要的。 組件的檔案路徑。 這項屬性接受完整路徑或相對路徑。 相對路徑是相對於宣告 UsingTask 項目所在專案檔或目標檔的目錄。 使用這項屬性就等於使用 .NET Framework 中的 LoadFrom 方法載入組件。 如果已經使用 AssemblyName 屬性,就不能使用這項屬性。 |
TaskFactory |
選擇性屬性。 在負責產生指定 Task 名稱之執行個體的組件中指定類別。使用者還可以指定 TaskBody 做為工作 Factory 所接收並用於產生工作的子項目。 TaskBody 的內容是專屬於工作 Factory。 |
TaskName |
必要屬性。 從組件參考的工作名稱。 如果有可能形成模糊狀態,這項屬性就應該一直指定完整命名空間。 如果形成模糊狀態,MSBuild 便會選擇任意符合項目,如此可能產生未預期的結果。 |
Condition |
選擇性屬性。 要評估的條件。 如需詳細資訊,請參閱 MSBuild 條件。 |
子項目
項目 |
描述 |
---|---|
一組參數,這會在指定之 TaskFactory 所產生的工作上出現。 |
|
傳遞給用來產生工作執行個體之 TaskFactory 的資料。 |
父項目
項目 |
描述 |
---|---|
MSBuild 專案檔的必要根項目。 |
備註
如果 UsingTask 項目出現在專案檔中 (不論是明確出現或是透過匯入的專案檔出現),就能在該項目內的任何位置參考環境參數、命令列屬性和專案層級屬性。 如需詳細資訊,請參閱 MSBuild 工作。
注意事項 |
---|
如果 UsingTask 項目來自於以 MSBuild 引擎全域註冊的 .tasks 檔案之一,專案層級屬性就不具意義。專案層級屬性對 MSBuild 而言不是全域的。 |
在 MSBuild 4.0 中,可以從 .overridetask 檔載入使用工作。
範例
下列範例示範如何對 AssemblyName 屬性使用 UsingTask 項目。
<UsingTask TaskName="MyTask" AssemblyName="My.Assembly" TaskFactory="MyTaskFactory">
<ParameterGroup>
<Parameter1 ParameterType="System.String" Required="False" Output="False"/>
<Parameter2 ParameterType="System.Int" Required="True" Output="False"/>
...
</ParameterGroup>
<TaskBody>
... Task factory-specific data ...
</TaskBody>
</UsingTask>
下列範例示範如何對 AssemblyFile 屬性使用 UsingTask 項目。
<UsingTask TaskName="Email"
AssemblyFile="c:\myTasks\myTask.dll" />