MSBUILD配置:将输出复制到临时区域

时间:2009-10-26 15:14:41

标签: msbuild

好的,我不是MSBUILD最好的。实际上,我什么都不知道。我需要一些帮助来配置我的解决方案文件,以告诉MSbuild将已编译的输出复制到暂存区域。该解决方案有大约35个项目。我需要的只是其中5个要在发布模式下复制到暂存文件夹。请假设我一无所知......

由于

1 个答案:

答案 0 :(得分:5)

您可以创建一个如下所示的目标:

  <Target Name="CopyFiles" DependsOnTargets="YourBuildTargets">
    <CreateItem Include="YourSolutionPath\bin\$(Configuration)\*.*">
      <Output ItemName="YourProjectOutputFiles" TaskParameter="Include"></Output>
    </CreateItem>

    <Copy SourceFiles="@(YourProjectOutputFiles)" DestinationFolder="$(DestinationFolder)"></Copy>
  </Target>

这将创建一个名为CopyFiles的目标,该目标取决于YourBuildTargets的完成(您可以在其中放置多个依赖项,用半冒号分隔)。它描述了一个Item,它包含项目目录中的所有文件(*。*)。然后它运行Copy命令,并将项目描述的文件复制到目标文件夹。如果你有很多项目都是由1个MSBuild脚本构建的,那么每个项目都有一个CreateItem节点来索引文件,还有一个相应的Copy节点来执行复制。

或者,如果您只想分别为每个项目执行此操作,只需将此块放在每个.csproj文件中。

现在只需将CopyFiles目标包含在由脚本构建的目标列表中。