2 votes

réévaluer un groupe d'éléments de msbuild

J'ai un groupe d'éléments qui comprend un emplacement qui peut ou non contenir des fichiers. Si aucun fichier n'est présent au moment où le groupe d'éléments est déclaré, est-il possible de réévaluer le groupe d'éléments ultérieurement pour récupérer les fichiers qui ont pu être générés dans le nouvel emplacement, ou dois-je déclarer un groupe d'éléments identique à ce moment-là et l'utiliser ?

8voto

Brian Kretzler Points 6012

Les groupes d'éléments déclarés de manière statique (en dehors d'une cible, en tant qu'élément enfant de l'élément ) seront évalués lors du chargement du fichier. Les groupes d'éléments déclarés dynamiquement (à l'intérieur d'une <Target>) seront évalués au moment où l'exécution passe par la cible. Pour les cas où les fichiers sont créés pendant la construction, vous devriez vraiment utiliser un groupe d'éléments dynamique.

4voto

Benjamin Baumann Points 2408

Je pense que vous devrez créer un nouveau groupe d'articles. Ils sont évalués une fois et la valeur est enregistrée, pas la formule utilisée pour sélectionner les fichiers. Vous ne pouvez donc pas "réévaluer" ces éléments.

0voto

C Johnson Points 4900

Vous pouvez redéfinir l'ItemGroup en commençant par removing les articles, et la réinclusion des articles :

<Target Name="Later on" >
   <ItemGroup>
      <ClCompile Remove="@(ClCompile)" />
      <ClCompile Include="something here of your choice" />
   </ItemGroup>
</Target>

Si vous ne voulez pas ou n'avez pas besoin de supprimer des éléments, vous pouvez toujours simplement ajouter ou compléter le groupe d'éléments existant :

<Target Name="Later on" >
   <ItemGroup>
      <ClCompile Include="Add Even more stuff" />
   </ItemGroup>
</Target>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X