CombinePath タスク
指定されたパスを 1 つのパスに結合します。
タスク パラメーター
CombinePath タスクのパラメーターの説明を次の表に示します。
パラメーター | 説明 |
---|---|
BasePath |
必須の String 型のパラメーターです。他のパスと結合するベース パス。 相対パス、絶対パス、または空白を使用できます。 |
Paths |
必須の ITaskItem[] 型のパラメーターです。BasePath と組み合わせて結合パスを形成する個々のパスのリスト。 パスは相対パスと絶対パスのどちらでも構いません。 |
CombinedPaths |
省略可能な ITaskItem[] 型の出力パラメーターです。このタスクによって作成される組み合わせたパス。 |
解説
上記のパラメーター以外に、このタスクは TaskExtension クラスからパラメーターを継承します。このクラス自体は、Task クラスから継承されます。 これらの追加のパラメーターの一覧とその説明については、「TaskExtension Base Class」を参照してください。
次の例は、CombinePath
を使用して出力フォルダー構造を作成し、$(ReleaseDirectory)
と連結されたルート パス $(PublishRoot)
とサブフォルダー リスト @(LangDirectories)
を組み合わせてプロパティ $(OutputDirectory)
を作成する方法を示しています。
<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\