CombinePath 工作
將指定的路徑結合成單一路徑。
工作參數
下表描述 CombinePath 工作的參數。
參數 | 描述 |
---|---|
BasePath |
必要的 String 參數。要與其他路徑結合的基底路徑。 可以是相對路徑、絕對路徑或空白。 |
Paths |
必要的 ITaskItem[] 參數。要與 BasePath 結合以形成結合路徑的個別路徑清單。 路徑可為相對或絕對路徑。 |
CombinedPaths |
選擇性的 ITaskItem[] 輸出參數。此工作所建立的結合路徑。 |
備註
除了上述所列的參數,此項工作還會繼承 TaskExtension 類別中的參數,而該類別本身又繼承 Task 類別。 如需這些其他參數的清單及其描述,請參閱 TaskExtension 基底類別。
下列範例示範如何使用 CombinePath
建立輸出檔案夾結構,藉由結合與 $(ReleaseDirectory)
串連的根 $(PublishRoot)
路徑和子資料夾清單 @(LangDirectories)
,來建構屬性 $(OutputDirectory)
。
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<PublishRoot>C:\Site1\</PublishRoot>
<ReleaseDirectory>Release\</ReleaseDirectory>
</PropertyGroup>
<ItemGroup>
<LangDirectories Include="en-us\;fr-fr\"/>
</ItemGroup>
<Target Name="CreateOutputDirectories" AfterTargets="Build">
<CombinePath BasePath="$(PublishRoot)$(ReleaseDirectory)" Paths="@(LangDirectories)" >
<Output TaskParameter="CombinedPaths" ItemName="OutputDirectories"/>
</CombinePath>
<MakeDir Directories="@(OutputDirectories)" />
</Target>
CombinePath
允許成為清單的唯一屬性是 Paths
,在此情況下,輸出也是清單。 因此,如果 $(PublishRoot)
為 C:\Site1\,且 $(ReleaseDirectory)
為 Release\,且 @(LangDirectories)
為 en-us;fr-fr\,則此範例會建立資料夾:
- C:\Site1\Release\en-us\
- C:\Site1\Release\fr-fr\