基本上,我想要做的是为目录使用通配符。
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文件夹。
有没有办法实现我想要做的事情?
答案 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>