2013-01-11 25 views
1

我无法理解这种行为:该项目组在项目标签直接置于正常工作:的ItemGroup内的目标不执行

<ItemGroup> 
    <!-- Copy the Dev Config files --> 
<Robocopy Include="$(INETROOT)\private\CASI\Reporting\Config\Dev"> 
     <DestinationFolder>$(DevBranch)\Reporting</DestinationFolder> 
     <FileMatch>*</FileMatch> 
</Robocopy> 

但是当同样是作为孩子一个目标,项目组犯规得到执行:

<!-- Create the Dev Branch --> 
<Target Name="CreateDevBranch" AfterTargets="Build"> 
    <CreateItem Include="$(AppRoot)\**\*.*"> 
     <Output TaskParameter="Include" ItemName="CompileOutput" /> 
    </CreateItem> 

<Copy SourceFiles="@(CompileOutput)" 
    DestinationFolder="$(DevBranch)\hello\%(RecursiveDir)"></Copy> 
    <ItemGroup> 
    <!-- Copy the Dev Config files --> 
<Robocopy Include="$(INETROOT)\private\CASI\Reporting\Config\Dev"> 
     <DestinationFolder>$(DevBranch)\Reporting</DestinationFolder> 
     <FileMatch>*</FileMatch> 
</Robocopy> 

</Target> 

奇怪的是复制操作的作品,即使我评论的复制操作中,的ItemGroup操作仍犯规被执行

我想我在这里失去了一些概念

感谢

回答

0

的itemgroup可能是空的,id检查你创建的项目组是否有任何值?另外createitem是旧版本的msbuild,并且使用msbuild 3.5来减少任务。创建一个项目组使用