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

在MSBuild中创建一个字符串项组

  •  0
  • Justin  · 技术社区  · 14 年前

    我想创建一个包含任意字符串/名称的“ItemGroup”,以便使用MSBuild转换,例如:

    <ItemGroup>
        <Categories>First</Categories>
        <Categories>Second</Categories>
    </ItemGroup>
    

    然后我希望将这些类别的转换传递到控制台应用程序中,例如:

    /c @(Categories, ' /c ')
    

    我之所以在引号中说“ItemGroup”,是因为我不确定以这种方式使用ItemGroups是否适用——因为我在文档中看不到ItemGroups 必须 但是,由于缺少强制的“Include”属性,使用上述命令会导致错误消息。

    • 或者,有没有更好的方法不使用ItemGroups来实现上述功能?
    1 回复  |  直到 14 年前
        1
  •  7
  •   Julien Hoarau    14 年前

    您可以在中使用任意字符串和文件 Item ,但必须使用以下语法:

    <ItemGroup>
      <Categories Include="First"/>
      <Categories Include="Second"/>
    </ItemGroup>
    

    当你使用 使用任意字符串是指某些元数据将毫无意义。( %(Categories.FullPath) (例如)

    <Target Name="ExecCommand">
      <Exec Command="YourProgram.exe /c @(Categories, ' /c ')"/>
    
      <!-- Using transformation -->
      <Exec Command="YourProgram.exe @(Categories -> '/c %(Identity)')"/>
    </Target>
    
    推荐文章