CombinePath görevi

Belirtilen yolları tek bir yolda birleştirir.

Görev parametreleri

Aşağıdaki tabloda CombinePath görevinin parametreleri açıklanmaktadır.

Parametre Tanım
BasePath Gerekli String parametresi.

Diğer yollarla birleştirmek için temel yol. Göreli yol, mutlak yol veya boş olabilir.
Paths Gerekli ITaskItem[] parametresi.

Birleştirilmiş yolu oluşturmak için BasePath ile birleştirilen tek tek yolların listesi. Yollar göreli veya mutlak olabilir.
CombinedPaths İsteğe bağlı ITaskItem[] çıkış parametresi.

Bu görev tarafından oluşturulan birleşik yol.

Açıklamalar

Yukarıda listelenen parametrelere ek olarak, bu görev kendi sınıfından TaskExtension devralan sınıfından Task parametreleri devralır. Bu ek parametrelerin ve açıklamalarının listesi için bkz . TaskExtension temel sınıfı.

Aşağıdaki örnekte ile $(ReleaseDirectory) birleştirilmiş bir kök yolu $(PublishRoot) ve bir alt klasör listesi @(LangDirectories)birleştirerek özelliğini $(OutputDirectory) oluşturmak için kullanarak CombinePath bir çıkış klasörü yapısının nasıl oluşturulacağı gösterilmektedir.

 <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>

Liste olmasına izin veren CombinePath tek özellik , Pathsbu durumda çıkış da bir listedir. Bu nedenle, $(PublishRoot)C:\Site1\ ve $(ReleaseDirectory) Release\ ise ve @(LangDirectories) en-us ise; fr-fr\, ardından bu örnekler klasörleri oluşturur:

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

Ayrıca bkz.