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\