MSBuild — Copy ไฟล์แบบ Recursive

เพิ่ม target CopyFiles เข้าไปใน (.cs|.fs)proj ซึ่งตัวอย่างนี้จะเป็นการ copy ไฟล์ทั้งหมดใน www (ตำแหน่งเดียวกับไฟล proj) ไปยัง bin/Debug/www

<ItemGroup> <_CopyItems Include="www/**/*.*" /> </ItemGroup>
<Target Name="CopyFiles">
<Copy SourceFiles="@(_CopyItems)"
DestinationFiles="@(_CopyItems->'bin\Debug\www\%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>

รัน CopyFiles โดยระบุใส่ flag /target:CopyFiles

$ msbuild Project/Project.fsproj /target:CopyFiles

ถ้าต้องการให้ CopyFiles ถูกเรียกอัตโนมัติหลังจาก Build ให้เพิ่ม attribute AfterTargets ดังนี้

<Target Name="CopyFiles"  AfterTargets="Build">
Show your support

Clapping shows how much you appreciated wk’s story.