以下內容將添加到項目文件的底部,它會將維護目標結構的內容文件複製到構建目標目錄$(TargetDirectory)
(通常爲$(MSBuildProjectDirectory)\bin\Debug
)中。
<ItemGroup>
<ExtraContent Include="$(MSBuildProjectDirectory)\..\..\MyContentFiles\**" />
</ItemGroup>
<Target Name="AfterBuild">
<Copy
SourceFiles="@(ExtraContent)"
DestinationFiles="@(ExtraContent->'$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true" />
</Target>
如果在指定的目錄MyContentFiles去需要這些文件,你可以在副本之前補充一點:
<MakeDir Directories="$(TargetDir)\MyContentFiles" Condition=" !Exists('$(TargetDir\MyContentFiles') " />
,改變
<Copy
SourceFiles="@(ExtraContent)"
DestinationFiles="@(ExtraContent->'$(TargetDir)\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true" />
要
<Copy
SourceFiles="@(ExtraContent)"
DestinationFiles="@(ExtraContent->'$(TargetDir)\MyContentFiles\%(RecursiveDir)%(Filename)%(Extension)')"
SkipUnchangedFiles="true" />
正如[這個答案](HTTP陳述://stackoverflow.com/a/11808911/1576096),「你不能爲目錄樹做它。」聲明不真實。 – Mandark 2013-06-13 13:00:49