Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Объединяет указанные пути в единый путь.
Параметры задачи
В следующей таблице приводятся параметры задачи CombinePath.
| Параметр | Описание |
|---|---|
BasePath |
Обязательный параметр String .Базовый путь для объединения с другими путями. Может представлять собой относительный, абсолютный путь или быть пустым. |
Paths |
Обязательный параметр ITaskItem[] .Список отдельных путей, объединяемых с BasePath для получения объединенного пути. Пути могут быть как относительными, так и абсолютными. |
CombinedPaths |
Необязательный выходной параметр ITaskItem[] .Объединенный путь, созданный этой задачей. |
Замечания
Помимо перечисленных выше параметров, эта задача наследует параметры от класса TaskExtension, который, в свою очередь, наследует от класса Task. Список этих дополнительных параметров и их описания см. в статье Базовый класс TaskExtension.
В следующем примере показано, как создать структуру выходной папки с помощью CombinePath для создания свойства $(OutputDirectory) путем объединения корневого пути $(PublishRoot), сцепленного с $(ReleaseDirectory), и списка вложенных папок @(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>
Единственным свойством, которое CombinePath допускает в качестве списка, является Paths. В этом случае выходные данные также являются списком. Таким образом, если $(PublishRoot) это C:\Site1\, $(ReleaseDirectory) это Release\, @(LangDirectories) это en-us;fr-fr\, тогда будут созданы следующие папки:
- C:\Site1\Release\en-us\
- C:\Site1\Release\fr-fr\