好的,我不是MSBUILD最好的。实际上,我什么都不知道。我需要一些帮助来配置我的解决方案文件,以告诉MSbuild将已编译的输出复制到暂存区域。该解决方案有大约35个项目。我需要的只是其中5个要在发布模式下复制到暂存文件夹。请假设我一无所知......
由于
答案 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
目标包含在由脚本构建的目标列表中。