Comment effectuer la tâche d'exécution dans une "boucle" avec MSBuild ItemGroups ?
Au lieu de répéter cette commande encore et encore, comme ceci :
<Exec ContinueOnError="false" Command="sqlcmd -S $(ServerName) $(SqlServerUser) -d $(DbName) -v TableName=%22account%22 -i data\add_sql_cache.sql -b" />
<Exec ContinueOnError="false" Command="sqlcmd -S $(ServerName) $(SqlServerUser) -d $(DbName) -v TableName=%22services%22 -i data\add_sql_cache.sql -b" />
<Exec ContinueOnError="false" Command="sqlcmd -S $(ServerName) $(SqlServerUser) -d $(DbName) -v TableName=%22servicesGroup%22 -i data\add_sql_cache.sql -b" />
<Exec ContinueOnError="false" Command="sqlcmd -S $(ServerName) $(SqlServerUser) -d $(DbName) -v TableName=%22servicesCategory%22 -i data\add_sql_cache.sql -b" />
Je préfère définir un ItemGroup et simplement exécuter une "boucle". J'ai le ItemGroup vers le bas :
<ItemGroup>
<CachedTables Include="account" />
<CachedTables Include="services" />
<CachedTables Include="servicesGroup" />
<CachedTables Include="servicesCategory" />
Mais en raison de la syntaxe étonnamment peu intuitive de MSBuild, je n'ai aucune idée de la façon d'effectuer la tâche Exec dans une boucle avec le ItemGroup ci-dessus comme entrée.