如何使用MSBuild将文件复制到另一个目录?

Dav*_*ave 5 msbuild visual-studio-2005 copy

我正在尝试将$(TargetDir)中的几个文件复制到另一个文件夹(例如C:\ BinCache),但无论出于何种原因我都无法让MSBuild停止抱怨.

  <Target Name="AfterBuild">
    <Copy SourceFiles="$(TargetDir)\*.*"
          DestinationFolder="C:\BinCache" />
  </Target>
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

编辑:解决方案是使用CreateItem任务.据推测,Visual Studio 2008消除了这种限制.谢谢斯科特!

<Target Name="AfterBuild">
  <CreateItem Include="$(TargetDir)\*.*">
    <Output TaskParameter="Include" ItemName="SourceFiles" />
  </CreateItem>
  <Copy SourceFiles="@(SourceFiles)" DestinationFolder="C:\BinCache" />  
</Target>
Run Code Online (Sandbox Code Playgroud)

Sco*_*ein 8

SourceFiles需要是一个Item列表

你需要类似的东西

<Target Name="AfterBuild">
  <ItemGroup>
    <SourceFiles Include="$(TargetDir)\*.*" />
  </ItemGroup>
  <Copy SourceFiles="@(SourceFiles)" DestinationFolder="C:\BinCache" />  
</Target>
Run Code Online (Sandbox Code Playgroud)

刚刚注意到你是在2005年,在这种情况下你需要使用CreateItem任务