CombinePath (tâche)

Combine les chemins spécifiés en un chemin unique.

Paramètres de tâche

Le tableau ci-dessous décrit les paramètres de la tâche CombinePath.

Paramètre Description
BasePath Paramètre String requis.

Chemin de base à combiner aux autres chemins. Peut être un chemin relatif, absolu ou vide.
Paths Paramètre ITaskItem[] obligatoire.

Liste de chemins individuels à combiner avec BasePath pour former le chemin combiné. Les chemins peuvent être relatifs ou absolus.
CombinedPaths Paramètre de sortie ITaskItem[] facultatif.

Chemin combiné créé par cette tâche.

Remarques

En plus des paramètres énumérés ci-dessus, cette tâche hérite des paramètres de la classe TaskExtension , qui elle-même hérite de la classe Task . Pour obtenir la liste de ces paramètres supplémentaires et leurs descriptions, consultez Classe de base TaskExtension.

L’exemple suivant montre comment créer une structure de dossiers de sortie à l’aide de CombinePath pour construire la propriété $(OutputDirectory) en combinant un chemin racine $(PublishRoot) concaténé avec $(ReleaseDirectory) et une liste de sous-dossiers @(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 seule propriété que CombinePath permet d’être une liste est Paths, auquel cas la sortie est également une liste. Par conséquent, si $(PublishRoot) est C:\Site1\, et $(ReleaseDirectory) est Release\, et @(LangDirectories) est en-us;fr-fr\, ces exemples créent les dossiers :

  • C:\Site1\Release\en-us\
  • C:\Site1\Release\fr-fr\

Voir aussi