在 MSBuild 中,很容易复制属性并将值大写:
<PropertyGroup>
<Name>Sarah</Name>
<UpperName>$(Name.ToUpper())</UpperName>
</PropertyGroup>
如何复制项目类型名称的每个项目,将其大写,并创建新的项目类型UpperNames?
<ItemGroup>
<Names Include="Tim" />
<Names Include="Sam" />
</ItemGroup>
您可以将项目展平为属性,将其大写,然后创建新的项目类型:
<Target Name="Target1">
<PropertyGroup>
<FlatNames>@(Names)</FlatNames>
<FlatNames>$([MSBuild]::Unescape($(FlatNames.ToUpper())))</FlatNames>
</PropertyGroup>
<ItemGroup>
<UpperNames Include="$(FlatNames)" />
</ItemGroup>
<Message Text="UpperNames %(UpperNames.Identity)" />
</Target>