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\