我有以下项目结构SolutionDir -src -Feature |---Feature.A |-----code |-------ViewA |---------FileA.cshtml |---Feature.B |-----code |-------ViewB |---------FileB.cshtml我希望将其复制到以下结构中的 dest 目录-OutputDir|--code|----ViewA|------ViewA.cshtml|----ViewB|------ViewB.cshtml我在 .csproj 中使用以下脚本<Target Name="AfterBuild"><ItemGroup> <FeatureViewFiles Include="$(SolutionDir)src\Feature\Feature.*\code\**\*.cshtml" /></ItemGroup><Copy SkipUnchangedFiles="true" SourceFiles="@(FeatureViewFiles)" DestinationFolder="OutputDir\code\%(RecursiveDir)%(Filename)%(Extension)" /></Target>现在,因为在我的Include通配符中Feature.*,RecursiveDir指令输出为Feature.A\code\ViewA\,而我真正想要的是它从文件夹下开始复制文件夹结构code。知道我如何实现这一目标吗?
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
抱歉,恐怕答案是否定的。
据我所知,这是复制任务的预期行为。如果您在Feature.*中使用通配符,它不会从ViewX中选择结构。只有当您指定Feature.A或Feature.B时,复制任务才能按您的预期进行。但我认为这不是您想要的,所以我认为复制任务无法满足您对此问题的需求。
除了复制任务之外,还有一个可执行任务,您可以在其中指定命令。它的工作方式类似于使用命令行 cmd.exe。因此,如果有任何命令或批处理文件可以完成这项工作,您可以使用Exec 任务来调用它们。但对于复制任务,目前不支持指定父文件夹级别的行为:(
另外:我尝试了 copy、xcopy 但没有成功。也许您可以尝试robocopy或任何其他工具。如果它们可以在命令行中工作,那么您可以使用 exec 命令将它们纳入您的构建目标。
- 2 回答
- 0 关注
- 142 浏览
添加回答
举报
0/150
提交
取消