次の方法で共有


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\

関連項目