我有以下Msbuild属性文件列表。
C:\构建\ Mainscript \ Master.targets
C:\构建\ Mainscript \ Master.properties
C:\构建\的Component1 \ build.comp1.properties
C:\构建\ COMPONENT2 \ build.comp2.properties
.
.
C:\建立\ Component3 \ build.compn.properties
Component1.properties包含以下解决方案列表
<Solution Include="C:\build\Component1\Mysoltuion.sln;">
<Group>Firstcomp</Group>
<AdditionalProperties>
ValidateXaml=false;
ReferencePath=$(DefaultReference);
</AdditionalProperties>
<IsRebuild>False</IsRebuild>
</Solution>
Component2.properties包含以下解决方案列表
<Solution Include="C:\build\Component2\Mysoltuion.sln;">
<Group>Firstcomp</Group>
<AdditionalProperties>
ValidateXaml=false;
ReferencePath=$(DefaultReference);
</AdditionalProperties>
<IsRebuild>False</IsRebuild>
</Solution>
Master.properties将具有所有组件的公共属性。
<Components Include="C:\Build\Comp1\Build.comp1.properties">
<ComponentName>Comp1</ComponentName>
</Components>
<Components Include="C:\Build.CompN.Properties">
<ComponentName>CompN</ComponentName>
</Components>
我有一个目标如下,这有助于我构建所有组件
<Target Name="BuildAll" Inputs="@(Components)" Outputs="%(Identity).Dummy">
<MSBuild Projects="@(Components)"
Targets="BuildComponent" />
</Target>
我想在大多数时间单独构建一些特定的组件。如何单独传递特定组件。
答案 0 :(得分:0)
在此处查看您的类似问题的答案:
How to pass items one by one to another msbuild task?
基本上,您可以访问ItemGroup中每个项目的自定义元数据,如下所示:
<Target Name="BuildAll" Inputs="@(Components)" Outputs="%(Identity).Dummy">
<MSBuild Projects="%(Identity)"
Targets="%(ComponentName)" />
</Target>