Je suis en train de sélectionner une liste des dll de test qui contiennent des fichiers de configuration correspondantsétat MSBuild CreateItem inclure, en fonction fichier de configuration
MyTest.Tests.dll
MyTest.Tests.config
Je dois utiliser un createItem que les DLLs ne sont pas disponibles au moment du script chargement
<CreateItem Include="$(AssemblyFolder)\*.Tests.dll"
Condition="???"
<Output TaskParameter="Include" ItemName="TestBinariesWithConfig"/>
</CreateItem>
y at-il une condition que je peux utiliser ou est-ce une mauvaise approche?
Merci
Mac
EDIT:
ok, pour clarifier les choses, je dois construire un fichier de projet xUnit.Net. Je dois faire ceci parce que je cours les essais par le coureur de xUnit.Console par l'intermédiaire de nCover (ne demandez pas!) Mais le long et court de lui est que je peux seulement utiliser un dossier de projet. Le problème que j'ai est quand j'ai une DLL de test avec un fichier .config associé. Sans le fichier de configuration, le testeur échouera.
Cela signifie que j'ai besoin d'ajouter de manière conditionnelle un attribut supplémentaire (fichier de configuration) dans le fichier de projet de test.
Le fichier modèle de projet:
<?xml version="1.0" encoding="utf-8"?>
<xunit>
<assemblies>
<!-- SAMPLE <assembly filename="Tests.dll" shadow-copy="false" config-file="Tests.dll.config" /> -->
<!-- @[email protected] -->
</assemblies>
</xunit>
La tâche FileUpdate pour les dll de test sans fichier de configuration.
<FileUpdate
Files="$(AssemblyFolder)\$(XUnitProjectFileName)"
Regex="<!-- @[email protected] -->"
ReplacementText="<!-- @[email protected] -->%0D%0A<assembly filename='$(AssemblyFolder)\%(TestBinaries.FileName)%(TestBinaries.Extension)' shadow-copy='false' />"
/>
donc je besoin d'un moyen d'ajouter de façon conditionnelle l'attribut supplémentaire dans la tâche FileUpdate selon que il y a un fichier de configuration correspondant pour la dll de test.
Les commentaires sur ma réponse seraient les bienvenus. – Filburt
Désolé Filburt, peu grossier là-bas. En fait, j'ai pris la facilité et j'ai fini par créer une tâche MSBuild personnalisée pour faire le travail de générer le fichier de projet avant de lire votre réponse. Je ne savais pas utiliser les métadonnées, donc votre approche semble bonne. Merci. –