CombinePath (tarea)
Combina las rutas de acceso especificadas en una única ruta de acceso.
Parámetros de tareas
En la siguiente tabla se describen los parámetros de CombinePath (Tarea).
Parámetro | Descripción |
---|---|
BasePath |
Parámetro String requerido.Ruta de acceso base que se combinará con las demás rutas de acceso. Puede ser una ruta de acceso relativa, una ruta de acceso absoluta o estar en blanco. |
Paths |
Parámetro ITaskItem[] requerido.Una lista de rutas de acceso individuales que se combinarán con el elemento BasePath para formar la ruta de acceso combinada. Las rutas acceso pueden ser relativas o absolutas. |
CombinedPaths |
Parámetro de salida ITaskItem[] opcional.La ruta de acceso combinada que se crea mediante la tarea. |
Comentarios
Además de los parámetros mencionados anteriormente, esta tarea hereda los parámetros de la clase TaskExtension, que a su vez hereda de la clase Task. Para obtener una lista de estos parámetros adicionales y sus descripciones, consulte TaskExtension base class.
En el ejemplo siguiente se muestra cómo crear una estructura de carpetas de salida mediante CombinePath
para construir la propiedad $(OutputDirectory)
combinando una ruta de acceso raíz $(PublishRoot)
concatenada con $(ReleaseDirectory)
y una lista de subcarpetas @(LangDirectories)
.
<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>
La única propiedad que permite CombinePath
que sea una lista es Paths
, en cuyo caso la salida también es una lista. Por lo tanto, si $(PublishRoot)
es C:\Site1 y $(ReleaseDirectory)
es Release\, y @(LangDirectories)
es en-usfr-fr, en este ejemplo se crean las carpetas:
- C:\Site1\Release\en-us\
- C:\Site1\Release\fr-fr\