代码之家  ›  专栏  ›  技术社区  ›  crauscher

能否在MSBuild中执行不区分大小写的字符串比较?

  •  16
  • crauscher  · 技术社区  · 17 年前

    我的MSBuild项目文件中有以下代码:

    <Error Text="Some Text" Condition="'$(StringName)' != 'Test'"/>
    

    $(StringName) 有点像 'test' ,则不符合该条件。

    我怎样才能改变条件,以便 也会比较吗?MSBuild中是否有不区分大小写的比较函数?

    5 回复  |  直到 10 年前
        1
  •  44
  •   Christian.K    14 年前

    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'"/>
    
        2
  •  22
  •   Aaron Jensen    14 年前

    <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
    

    我很确定你的剧本里还有一些奇怪的东西。

        3
  •  5
  •   ogggre    9 年前

    使用带有特殊参数的MSBuild属性函数执行不区分大小写的字符串比较:

    <Error Text="Some Text" Condition="!$(StringName.Equals('Test', StringComparison.OrdinalIgnoreCase))"/>
    
        4
  •  -11
  •   Jeremy Stein    17 年前