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\

Vea también