2014-10-30 36 views
1

我已经得到了包括来自我的项目源文件的的ItemGroup:MSBuild ItemGroup可以分块吗?

<ItemGroup> 
    <SourceFiles Include=".\**\*.h;.\**\*.cpp"/> 
    </ItemGroup> 

有几百个源文件。我想将它们传递给Exec任务中的命令行工具。

如果我调用命令行工具,分别为每个文件:

<Exec Command="tool.exe %(SourceFiles.FullPath)" WorkingDirectory="."/> 

然后,运行速度非常慢。

如果我调用命令行工具,并通过所有文件一气呵成:

<Exec Command="tool.exe @(SourceFiles -> '&quot;%(FullPath)&quot;', ' ')" WorkingDirectory="."/> 

然后,我得到一个错误,如果有太多的文件(我猜的命令行长度超过一些最大值)。

有没有一种方法可以将项目分块,以便可以多次调用该工具,每次都会将最大数量的源文件名传递给该工具?

回答

相关问题