Я хочу создать ItemGroup всех bin
каталогов в заданной директории, исключая все bin
каталогов в заданных подкаталогах, например:Удалить каталог из MSBuild ItemGroup
MyDirectory\
bin\
ext\
bin\
lib\
lib1\
bin
samples\
sample1\
bin\
src\
bin\
Я хочу, чтобы удалить все бинов каталогов в MyDirectory, исключая все каталоги bin для файлов ext и lib (т. е. delete samples \ sample1 \ bin и src \ bin).
Это то, что я придумал изначально:
<ItemGroup>
<ExcludedDirs Include="$(MyDirectory)\ext" />
<ExcludedDirs Include="$(MyDirectory)\lib" />
<BinDirs Include="$(MyDirectory)\**\bin" />
<BinDirs Remove="$(MyDirectory)\%(ExcludedDirs.Identity)\**" />
</ItemGroup>
Это не работает из-за MSBuild - ItemGroup of all bin directories within subdirectories, поэтому я придумал следующее:
<ItemGroup>
<ExcludedDirs Include="$(MyDirectory)\ext" />
<ExcludedDirs Include="$(MyDirectory)\lib" />
<BinDirs Include="$([System.IO.Directory]::GetDirectories("$(SolutionDirectory)","bin", SearchOption.AllDirectories))" />
<BinDirs Remove="$(MyDirectory)\%(ExcludedDirs.Identity)\**" />
</ItemGroup>
Теперь все бин diretoreis являются в BinDirs, однако, каталоги bin в ext и lib равны , а не исключены. Какое решение?