13
これは簡単なはずですが、これを行う方法がわかりません(または可能ではないかもしれません)。ItemGroupにアイテムが含まれている場合、MSBuild Conditionテストを行うにはどうすればよいですか?
MSBuildには、ファイルのリストであるItemGroupがあります。 私は、特定のファイルがその中にある場合にのみタスクを実行するItemGroup
何かのように:これを行うには
<Copy Condition="@(Files) <contains> C:\MyFile.txt" .... />
任意の方法?好ましくは、カスタムタスクを書き込まずに。
編集:ファイルのリストは、条件とのみ関係あります。それ以外の場合は、タスクとは関係ありません。
を試してみてください。 %は、すべてのファイルを介して "反復"します... <コピー条件= "'$(File1.Identity)' == 'C:\ MyFile.txt'" .. /> <コピー"$(File2.Identity)" == 'C:\ MyFile.txt' ".. /> <コピー条件=" '$(File3.Identity)' == 'C:\ MyFile.txt' ".. /> など... –
私はこれを誤解しているかもしれませんが、実際にコピーを1回だけ実行したいと思います。コピーしているものはファイルのリストにはありません。ファイルのリストは、条件 – Ray
のみです。複数のバッチを反復処理しますが、条件が真である場合、コピータスクは1回だけ実行されます。 @(Files)は、コピーしているファイルのセットである必要はありません。ここでは、C:\ MyFile.txtが@(Files)に存在する場合にのみ、 。 – radical