У меня есть следующий код msbuild:
<PropertyGroup>
<DirA>C:\DirA\</DirA>
<DirB>C:\DirB\</DirB>
</PropertyGroup>
<Target Name="CopyToDirA"
Condition="Exists('$(DirA)') AND '@(FilesToCopy)' != ''"
Inputs="@(FilesToCopy)"
Outputs="@(FilesToCopy -> '$(DirA)%(Filename)%(Extension)')">
<Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(DirA)" />
</Target>
<Target Name="CopyToDirB"
Condition="Exists('$(DirB)') AND '@(FilesToCopy)' != ''"
Inputs="@(FilesToCopy)"
Outputs="@(FilesToCopy -> '$(DirB)%(Filename)%(Extension)')">
<Copy SourceFiles="@(FilesToCopy)" DestinationFolder="$(DirB)" />
</Target>
<Target Name="CopyFiles" DependsOnTargets="CopyToDirA;CopyToDirB"/>
Таким образом, вызов target CopyFiles
копирует соответствующие файлы в $(DirA)
и $(DirB)
, если они еще не установлены и не обновлены.
Но цели CopyToDirA
и CopyToDirB
выглядят идентичными, кроме одной копии, на $(DirA)
, а остальные - на $(DirB)
. Можно ли объединить их в одну цель, сначала вызванную с помощью $(DirA)
, а затем с помощью $(DirB)
?
Спасибо.