Msbuild 如何检查属性中是否存在字符串
如果我有财产Msbuild 如何检查属性中是否存在字符串,msbuild,Msbuild,如果我有财产 <PropertyGroup> <MyProp>abd;efg;hij;klm</MyProp> </PropertyGroup> abd;efg;hij;荷航 如何解析$(MyProp)以检查是否存在klm?您可以使用调用字符串Contains()方法来检查字符串的出现情况。虽然也可以使用项(通过Include=“$(MyProp)”并检查是否存在具有预期标识的项)的其他一些选项,但使用属性函数的条件可以在目标内外的任何m
<PropertyGroup>
<MyProp>abd;efg;hij;klm</MyProp>
</PropertyGroup>
abd;efg;hij;荷航
如何解析$(MyProp)
以检查是否存在klm
?您可以使用调用字符串Contains()
方法来检查字符串的出现情况。虽然也可以使用项(通过Include=“$(MyProp)”
并检查是否存在具有预期标识的项)的其他一些选项,但使用属性函数的条件可以在目标内外的任何msbuild元素上使用
例如:
<Project>
<PropertyGroup>
<MyProp>abd;efg;hij;klm</MyProp>
</PropertyGroup>
<Target Name="Build">
<Message Importance="high" Text="klm is included!" Condition="$(MyProp.Contains('klm'))" />
<PropertyGroup>
<MyProp>;$(MyProp);</MyProp>
</PropertyGroup>
<Message Importance="high" Text="exactly klm is included!" Condition="$(MyProp.Contains(';klm;'))" />
</Target>
</Project>
abd;efg;hij;荷航
;$(MyProp);
第二种方法-前置和追加代码>并检查;荷航代码>-确保列表中的字符串作为一个整体匹配,可以处理;aklm