我的 MSBuild 文件中有一个项目列表:
<ItemGroup>
<SubProject Include="**\*.csproj" />
</ItemGroup>
现在,我想在每个项目上TargetPath
为每个项目设置一个元数据属性。
我已经知道如何提取每个项目的目标路径,并将其放在单独的项目列表中:
<Target Name="ExtractTargetPaths">
<MSBuild Projects="%(SubProject.Identity)" Targets="GetTargetPath">
<Output TaskParameter="TargetOutputs" ItemName="SubProjectTargetPath" />
</MSBuild>
</Target>
但是,我希望能够将“SubProjectTargetPath”作为项目的元数据访问,SubProject
而不是拥有单独的项目列表。
也就是说,而不是这样写:
<SomeTask Parameter="%(SubProjectTargetPath.Identity)" />
我将能够写出类似的东西:
<SomeTask Parameter="%(SubProject.TargetPath)" />