Visual Studio Post Build事件 - xcopy到不同的相对目录

时间:2012-04-05 13:58:05

标签: visual-studio visual-studio-2010 xcopy post-build-event post-build

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

post build事件在PageComponents项目中:

PageComponents
    WidgetTemplates
        WidgetTemplate1
            Usercontrol1
        WidgetTemplate2
            Usercontrol2

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

Web
    CtrlPresentation
        Usercontrol1
        Usercontrol2

我试图通配WidgetTemplates目录:

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

但这一切都失败了。那么我尝试了以下内容:

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

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

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

1 个答案:

答案 0 :(得分:0)

尝试使用任务。

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

并在Build

之后使用此目标
<BuildDependsOn>
    $(BuildDependsOn);
    CopyOver
</BuildDependsOn>