我在MSBuild项目文件中有以下代码:
<Error Text="Some Text" Condition="'$(StringName)' != 'Test'"/>
此处的字符串比较区分大小写,因此当$(StringName)
类似于'test'
时,不符合条件。
如何更改条件以便'test'
也符合比较? MSBuild中是否有任何不区分大小写的比较函数?
答案 0 :(得分:31)
Dan Moseley在这里详细介绍了MSBuild属性函数:
http://blogs.msdn.com/b/visualstudio/archive/2010/04/02/msbuild-property-functions.aspx
对于您的示例,您可以使用以下内容:
<Error Text="Some Text" Condition="'$(StringName.ToUpper())' != 'TEST'"/>
答案 1 :(得分:13)
MSBuild字符串比较不区分大小写:
<PropertyGroup>
<MyProperty>FOOBAR</MyProperty>
</PropertyGroup>
<Message Text="ALL CAPS" Importance="high" Condition="'$(MyProperty)' == 'FOOBAR'" />
<Message Text="all lower" Importance="high" Condition="'$(MyProperty)' == 'foobar'" />
将输出
ALL CAPS
all lower
我很确定你的剧本中其他东西会变得奇怪。
答案 2 :(得分:4)
答案 3 :(得分:1)
使用带有特殊参数的MSBuild属性函数来执行不区分大小写的字符串比较:
<Error Text="Some Text" Condition="!$(StringName.Equals('Test', StringComparison.OrdinalIgnoreCase))"/>
答案 4 :(得分:-8)
不,没有。你必须自己写。