【发布时间】:2015-02-09 13:28:23
【问题描述】:
我想在给定目录中创建一个包含所有 bin 目录的 ItemGroup,不包括给定子目录中的所有 bin 目录,例如:
MyDirectory\
bin\
ext\
bin\
lib\
lib1\
bin
samples\
sample1\
bin\
src\
bin\
我想删除MyDirectory中所有的bin目录,不包括ext和lib的所有bin目录(即删除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>
现在所有的 bin 目录都在 BinDirs 中,但是 ext 和 lib 中的 bin 目录不排除在外。解决办法是什么?
【问题讨论】:
标签: msbuild