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