有没有一种巧妙的方法来创建在MSBuild中使用的“布尔”属性?我可以在Condition
属性中评估表达式,但不能在CreateProperty
任务的Value属性中进行评估。
我想做这样的事情:
<CreateProperty Value="'$(IncludeInBuild)'=='' OR
'$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectFullPath),
$(IncludeInBuild)'=='True'">
<Output TaskParameter="Value" PropertyName="MatchesInclude" />
</CreateProperty>
给我的不是真或假,而是
''=='' OR '$([System.Text...
我可以评估布尔表达式并使用结果设置属性吗?我现在的解决方法就是在条件属性中重复表达式,只要我需要它。
答案 0 :(得分:11)
如果条件通过,如果创建一个默认属性'false'并且条件赋值为真,那该怎么办?
<PropertyGroup>
<MatchesInclude>false</MatchesInclude>
<MatchesInclude Condition="'$(IncludeInBuild)'=='' OR
'$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectFullPath),
$(IncludeInBuild)'=='True'">true</MatchesInclude>
</PropertyGroup>