Ce ItemGroup ItemsFromAnotherTarget
contient:msbuild ItemGroup exclure ne fonctionne pas avec des jokers
..\..\References\AnotherFolder\ReferencedAssembly.dll
bin\GeneratedAssembly1.dll
bin\GeneratedAssembly2.dll
somefolder\somefile.txt
somefolder\somefile.exe
bin\anexe.exe
L'idée est de générer un autre groupe d'articles BinaryFiles
contenant
bin\GeneratedAssembly1.dll
bin\GeneratedAssembly2.dll
somefolder\somefile.exe
bin\anexe.exe
Je donne les résultats suivants:
<ItemGroup>
<BinaryFiles Include="@(ItemsFromAnotherTarget)" Condition="'%(Extension)'=='.dll' or '%(Extension)'=='.exe'" Exclude="..\..\References\AnotherFolder\ReferencedAssembly.dll" />
</ItemGroup>
Cela génère donc le groupe d'articles requis. Mais si nous remplaçons le Exclude
par un caractère générique, cela ne fonctionne pas.
Exclude="..\..\**\References\**"
Exclude="..\..\References\**\*.dll"
Exclude="..\..\References\**\*"
None of these work.
Le problème est le dossier References
peut avoir plusieurs dossiers et dll, nous devons exclure toute dossier References
. Une idée de comment faire le filtrage en utilisant un caractère générique?
Vous pouvez utiliser la réponse ici: https://stackoverflow.com/questions/35498608/msbuild-how-can-i-exclude-wildcard-paths-matching-a-regex et régler la regex il exclut tout ce qui correspond à \ References \ ou plus. Sinon, vous devrez probablement lister tous les fichiers à exclure, c'est-à-dire , puis filtrer les groupes BinaryFiles en fonction de cette liste. –
stijn
Quelle version de msbuild utilisez-vous? –
Microsoft (R) Build Engine version 15.1.1012.6693 – dushyantp