12

有没有一种巧妙的方法来创建“布尔”属性以在 MSBuild 中使用?我可以评估属性内的表达式,但不能评估任务Condition的 Value 属性。CreateProperty

我想做这样的事情:

<CreateProperty Value="'$(IncludeInBuild)'=='' OR 
    '$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectFullPath), 
    $(IncludeInBuild)'=='True'">
    <Output TaskParameter="Value" PropertyName="MatchesInclude" />
</CreateProperty>

给我的不是真或假,而是

''=='' OR '$([System.Text...

我可以评估布尔表达式并使用结果设置属性吗?我现在的解决方法是在需要的地方重复 Condition 属性中的表达式。

4

1 回答 1

17

如果条件通过,如何创建一个带有条件的默认属性“false”以分配 true?

<PropertyGroup>
    <MatchesInclude>false</MatchesInclude>
    <MatchesInclude Condition="'$(IncludeInBuild)'=='' OR 
    '$([System.Text.RegularExpressions.Regex]::IsMatch($(MSBuildProjectFullPath), 
    $(IncludeInBuild)'=='True'">true</MatchesInclude>
</PropertyGroup>
于 2013-10-01T20:03:29.150 回答