Udostępnij za pośrednictwem


CombinePath — zadanie

Łączy określone ścieżki w jedną ścieżkę.

Parametry zadania

W poniższej tabeli opisano parametry zadania CombinePath.

Parametr Opis
BasePath Wymagany parametr interfejsu String.

Ścieżka podstawowa do połączenia z innymi ścieżkami. Może być ścieżką względną, ścieżką bezwzględną lub pustą.
Paths Wymagany parametr interfejsu ITaskItem[].

Lista poszczególnych ścieżek do połączenia z ścieżką BasePath w celu utworzenia połączonej ścieżki. Ścieżki mogą być względne lub bezwzględne.
CombinedPaths Opcjonalny ITaskItem[] parametr wyjściowy.

Połączona ścieżka utworzona przez to zadanie.

Uwagi

Oprócz parametrów wymienionych powyżej to zadanie dziedziczy parametry z TaskExtension klasy, która sama dziedziczy z Task klasy. Aby uzyskać listę tych dodatkowych parametrów i ich opisy, zobacz TaskExtension, klasa bazowa.

W poniższym przykładzie pokazano, jak utworzyć strukturę folderów wyjściowych przy użyciu polecenia CombinePath w celu skonstruowania właściwości $(OutputDirectory) , łącząc ścieżkę $(PublishRoot) główną połączoną z listą $(ReleaseDirectory) podfolderów i listą podfolderów @(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>

Jedyną właściwością, która CombinePath pozwala być listą, jest Paths, w którym przypadku dane wyjściowe są również listą. Tak więc, jeśli $(PublishRoot) jest C:\Site1\, i $(ReleaseDirectory) jest Release\, i @(LangDirectories) jest en-us; fr-fr\, a następnie te przykłady tworzą foldery:

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

Zobacz też