0
<Target Name="Build">
...
<MSBuild
Projects="$(MSBuildProjectFile)"
Condition="'@(FilesToCompile)' != ''"
Targets="buildcpp"
Properties="CPPFILE=%(FilesToCompile.FullPath);OBJFILE=$(ObjectFolder)\%(FilesToCompile.Filename).doj;IncludeDirs=$(IncludeDirs)"
/>
FilesToCompile
是所有.cpp
文件的ItemGroup
。的MSBuild - 如何做任务的MSBuild遍历文件
当我查看构建日志时,它显示CPPFILE
中每个文件都运行的目标buildcpp
。
我明白,这就是我想在逻辑上发生,但我的问题是,什么规则元素<MSBuild>
或MSBuild
架构原因任务MSBuild
的要为CPPFILE
每个值执行?
简而言之,在文档中哪些地方会说明会发生什么?
我想整个传递ItemGroup
一次,而不是每个项目调用MSBuild
目标一次。
@HansPassant所以如果我想传入一个完整的ItemGroup并且只有一次,我必须先将它分配给一个'Property',然后将其设置为等于'
Adrian
@HansPassant我想一次传递一个'ItemGroup',而不是每个项目的一个任务调用。 – Adrian
https://msdn.microsoft.com/en-us/library/ms171473.aspx?f=255&MSPPError=-2147217396 – stijn