我有一个项目组,其中包含可能包含或不包含文件的位置。如果在声明项目组的位置没有文件,是否可以在以后重新评估项目组以获取可能在新位置生成的文件,或者我是否必须声明此时相同的项目组并使用它?
答案 0 :(得分:8)
在加载文件时,将评估静态声明的项目组(在Target之外,作为其子元素)。动态声明的项目组(在< Target>内)将在执行通过目标时进行评估。对于在构建期间创建文件的情况,您确实应该使用动态Item组。
答案 1 :(得分:4)
我认为你必须创建一个新的项目组。它们被评估一次并保存值,而不是用于选择文件的公式。因此,您无法“重新评估”这些项目。
答案 2 :(得分:0)
您可以通过首先removing
项,然后重新包含项来重新定义项组:
<Target Name="Later on" >
<ItemGroup>
<ClCompile Remove="@(ClCompile)" />
<ClCompile Include="something here of your choice" />
</ItemGroup>
</Target>
或者,如果您不想删除项目,也可以随时将其添加或添加到以前存在的项目组中:
<Target Name="Later on" >
<ItemGroup>
<ClCompile Include="Add Even more stuff" />
</ItemGroup>
</Target>