Ich habe das folgende Stück msbuild Code aufzurufen:Wie die gleiche msbuild Ziel zweimal mit unterschiedlichen Parametern aus msbuild Projektdatei selbst
<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"/>
, damit das Ziel Aufruf CopyFiles
kopiert die entsprechenden Dateien zu $(DirA)
und $(DirB)
, vorausgesetzt, sie sind noch nicht da und auf dem neuesten Stand.
Aber die Ziele CopyToDirA
und CopyToDirB
aussehen identisch außer einer Kopien zu $(DirA)
und der andere - zu $(DirB)
. Ist es möglich, sie zu einem Ziel zusammenzufassen, das zuerst mit $(DirA)
und dann mit $(DirB)
aufgerufen wird?
Danke.
Hallo Ruben. Könnten Sie die ... in Ihrer Antwort erweitern? Ich bin mit parametrisierten Zielen nicht so vertraut, um zu verstehen, was Sie meinen. Vielen Dank. – mark
@mark: fertig.Grund, warum ich es vorher nicht getan habe, ist zweifach 1. Habe keinen netten Editor zur Hand. 2. nicht sicher auf Syntax der ersten Probe. Hoffe das hilft. Ich empfehle das Inside MSBuild Buch –
@ruben: LOL @ # 3 –