3

本质上,我想要做的是使用通配符作为目录。

构建后事件在 PageComponents 项目上:

页面组件
    小部件模板
        小部件模板1
            用户控件1
        小部件模板2
            用户控件2

我想将所有用户控件复制到 Web 项目,但复制到不同的相对位置:

网络
    Ctrl演示
        用户控件1
        用户控件2

我试图通配 WidgetTemplates 目录:

xcopy "$(ProjectDir)WidgetTemplates\*\*.ascx" "$(SolutionDir)Client.Web\CtrlPresentation" /y /s

但这一切都失败了。所以我尝试了以下方法:

xcopy "$(ProjectDir)WidgetTemplates\*.ascx" "$(SolutionDir)Client.Web\CtrlPresentation" /y /s

但这也会复制每个单独的 WidgetTemplate 文件夹。

有没有办法实现我想要做的事情?

4

1 回答 1

0

尝试使用任务。

<ItemGroup>
    <MySources Include="$(ProjectDir)WidgetTemplates\**\*.ascx" />
</ItemGroup>
<Target Name="CopyOver">
    <Copy SourceFiles="@(MySources)" DestinationFiles="@(MySources->'$(SolutionDir)Client.Web\CtrlPresentation\%(FileName)%(Extension)')">
</Target>

并在您的构建之后使用此目标

<BuildDependsOn>
    $(BuildDependsOn);
    CopyOver
</BuildDependsOn>
于 2014-01-23T10:04:15.510 回答