Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
重新计算msbuild项目组_Msbuild - Fatal编程技术网

重新计算msbuild项目组

重新计算msbuild项目组,msbuild,Msbuild,我有一个项目组,其中包含一个位置,该位置可能包含文件,也可能不包含文件。如果在声明项目组时不存在文件,是否可以稍后重新评估项目组以拾取可能在新位置生成的文件,或者我此时是否必须声明相同的项目组并使用该文件?静态声明的项目组加载文件时,将对(在目标之外,作为的子元素)进行求值。动态声明的项目组(在中)将在执行通过目标时进行计算。对于在生成过程中创建文件的情况,您确实应该使用动态项目组。我认为您必须创建一个新的项目组。它们只计算一次并保存值,而不是用于选择文件的公式。因此,您不能“重新计算”这些项目

我有一个项目组,其中包含一个位置,该位置可能包含文件,也可能不包含文件。如果在声明项目组时不存在文件,是否可以稍后重新评估项目组以拾取可能在新位置生成的文件,或者我此时是否必须声明相同的项目组并使用该文件?

静态声明的项目组加载文件时,将对(在目标之外,作为的子元素)进行求值。动态声明的项目组(在中)将在执行通过目标时进行计算。对于在生成过程中创建文件的情况,您确实应该使用动态项目组。

我认为您必须创建一个新的项目组。它们只计算一次并保存值,而不是用于选择文件的公式。因此,您不能“重新计算”这些项目。

您可以通过首先删除项目,然后重新定义项目组:

<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>


我的项目组在目标中声明,我想稍后在同一目标中评估项目组。这就是我最终要做的。我想知道为什么没有办法这样做。