Nous utilisons NHibernate dans notre projet et nous avons besoin que tous les fichiers .hbm.xml soient des ressources intégrées. Pour automatiser cette tâche ennuyeuse, nous avons ajouté cette définition de cible à notre fichier de projet :
<Target Name="BeforeBuild">
<ItemGroup>
<EmbeddedResource Include="**\*.hbm.xml" />
</ItemGroup>
</Target>
Cela ne fonctionne que si tous les fichiers hbm.xml ont l'action de construction None. Mais dans notre projet, certains fichiers sont manuellement configurés en tant que ressource intégrée et il n'y a aucune chance de les changer tous pour le moment.
Nous obtenons donc l'erreur de construction "L'élément a été spécifié plus d'une fois dans le paramètre "Ressources" et les deux éléments avaient la même valeur pour la métadonnée "LogicalName". Les éléments en double ne sont pas pris en charge par le paramètre "Resources", sauf s'ils ont des valeurs différentes pour la métadonnée "LogicalName"."
Est-il possible d'écrire une cible qui change l'action de construction seulement pour les fichiers .hbm.xml avec l'action de construction None (ou NOT Embedded Resource) ?