是否有任何MSbuild任务来检查一个字符串是否包含另一个字符串(类似于string.contains)

 2021-04-26 

Is there any MSbuild task to check if a string contains another string (similar to string.contains)

我有此Msbuild代码:

1
<Import Project="A.proj" Condition="$(BuildDefinition) =='Dist Staging to Dev' Or $(BuildDefinition) =='Dist Staging to Dev(Services Only)'"/>

但是我想知道是否有类似的检查字符串是否包含一些文本来获得类似于以下内容的内容:

1
<Import Project="A.proj" Condition="$(BuildDefinition) CONTAINS 'Dist Staging to Dev'"/>

如果使用MSBuild 4,则可以使用Property function

1
2
<Import Project="A.proj"
        Condition="$(BuildDefinition.Contains('Dist Staging to Dev'))"/>

(有关属性函数的更多信息)


MSBuild4:正如Julien所说,在MSBUILD 4中,用户可以使用Property Function。

MSBuild 3.x:如果使用Tigris MsBuild任务,则在以前的版本中是可能的

您可以使用任务RegexMatch并使用正则表达式


MsBuild条件参考与"包含"功能的可能性无关。看来您的第一个版本是唯一的选择。