Je voudrais créer une tâche personnalisée qui est appelée de façon telle que:Créer msbuild CustomTask qui peut accepter des éléments sous xml ou attributs xml (msbuild 3.5)
<Target Name="Remap">
<ItemGroup>
<Entry Key="key1" Value="value1" />
<Entry Key="key2" Value="value2" />
</ItemGroup>
<CustomTask
Entries="@(Entry)"
/>
</Target>
Ou ceci:
<Target Name="Remap">
<ItemGroup>
<Entry>
<Key>key1</Key>
<Value>value1</Value>
</Entry>
<Entry>
<Key>key2</Key>
<Value>value2</Value>
</Entry>
</ItemGroup>
<CustomTask
Entries="@(Entry)"
/>
</Target>
J'ai essayé juste en utilisant:
public class CustomTask : Task
{
public override bool Execute()
{
...
}
[Required]
public ITaskItem[] Entries { get; set; }
}
Mais dans le premier cas, je reçois l'erreur:
error MSB4066: The attribute "Key" in element <Entry> is unrecognized.
Et dans le second cas, s'il n'y a pas d'erreur, la collection Entries est juste vide.
Existe-t-il un moyen d'accomplir cela avec les tâches personnalisées MsBuild?