1

MSBuild変換を使用するために、任意の文字列/名前の「ItemGroup」を作成したいと思います。次に例を示します。

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

次に、これらのカテゴリの変換をコンソールアプリに渡したいと思います。例:

/c @(Categories, ' /c ')

引用符で「ItemGroup」と言う理由は、ItemGroupsをこのように使用することが適切かどうかわからないためです。ドキュメントに何も記載されていない限り、ItemGroupsはファイルである必要があります。ただし、上記を使用すると、必須の「インクルード」属性が欠落しているため、エラーメッセージが表示されます。

  • ItemGroupsを使用して上記を行う方法はありますか?
  • あるいは、ItemGroupsを使用せずに上記を達成するためのより良い方法はありますか?
4

1 に答える 1

7

のファイルだけでなく任意の文字列も使用できますがItem、次の構文を使用する必要があります。

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

任意の文字列で使用する場合の唯一の違いItemは、一部のメタデータが無意味になることです。(%(Categories.FullPath)例)

次に、アイテムを使用して次のようなコマンドを実行できます。

<Target Name="ExecCommand">
  <Exec Command="YourProgram.exe /c @(Categories, ' /c ')"/>

  <!-- Using transformation -->
  <Exec Command="YourProgram.exe @(Categories -> '/c %(Identity)')"/>
</Target>
于 2010-08-17T05:19:07.133 に答える