使用MSBuild如何根据构建的配置复制文件,即如果构建配置是Staging vs Release。如果生成配置为“暂存”,则我需要能够复制FolderA \ FileA,并且要生产时使用FolderB \ FileB。同样,复制后的文件应位于输出目录的根目录,而不是文件夹FolderA或FolderB。使用任务会在项目加载期间引发错误。
答案 0 :(得分:0)
MSBuild-如何根据条件复制文件
您可以将Condition=" '$(Configuration)' == 'xxx' "
用于项目文件中的复制任务。
要实现此目的,请卸载您的项目。然后在项目的最后,在结束标签</Project>
之前,放在脚本下面:
<ItemGroup>
<MySourceFilesA Include="FolderA\FileA.txt" />
<MySourceFilesB Include="FolderB\FileB.txt" />
</ItemGroup>
<Target Name="CopyFiles" AfterTargets="Build">
<Copy SourceFiles="@(MySourceFilesA)" DestinationFolder="$(OutDir)" Condition=" '$(Configuration)' == 'Staging' " />
<Copy SourceFiles="@(MySourceFilesB)" DestinationFolder="$(OutDir)" Condition=" '$(Configuration)' == 'Release' " />
</Target>
您可以根据需要修改SourceFiles
和DestinationFolder
的页面,只需确保路径正确即可。
希望这会有所帮助。