У меня есть ItemGroup, который включает в себя исходные файлы из моего проекта:Может ли MSBuild ItemGroup быть разбитым?
<ItemGroup>
<SourceFiles Include=".\**\*.h;.\**\*.cpp"/>
</ItemGroup>
Есть несколько сотен исходных файлов. Я хочу передать их в инструмент командной строки в задаче Exec.
Если я вызываю инструмент командной строки индивидуально для каждого файла:
<Exec Command="tool.exe %(SourceFiles.FullPath)" WorkingDirectory="."/>
Затем он работает очень медленно.
Если я позвоню инструмент командной строки и передать все файлы на одном дыхании:
<Exec Command="tool.exe @(SourceFiles -> '"%(FullPath)"', ' ')" WorkingDirectory="."/>
Тогда я получаю сообщение об ошибке, если есть слишком много файлов (я предполагаю, что длина командной строки превышает некоторый максимум).
Есть ли способ, которым я могу обрезать элементы так, чтобы инструмент можно было вызывать несколько раз, каждый раз, передавая максимальное количество имен исходных файлов в инструмент?