アイテムリストのファイルがない場合、タスクを実行したいと思います。それ、どうやったら出来るの?msbuildを使用してアイテムリスト内のファイルが存在するかどうかを確認するにはどうすればよいですか?
私の現在のスクリプトは、「ソース」ファイルのリストを持っている@私は「目的地」のファイルの別のリストを翻訳することを(MyComFiles)@(MyInteropLibs)、次のタスク使用:
<CombinePath BasePath="$(MyPath)\interop"
Paths="@(MyComFiles->'%(filename).%(extension)')">
<Output TaskParameter="CombinedPaths"
ItemName="MyInteropLibs" />
</CombinePath>
私が確認したいの@(MyInteropLibs)内のファイルのいずれかが見つからない場合、それらを作成するタスクを実行します。
私はむしろmsbuildでやります。タスクのConditional属性にExists()関数を使用することは可能ですが、1つのファイルに対してのみ機能します。 –
MSBuildには機能が組み込まれているようには見えません.MSBuild Extension PackやMSBuild Community Tasksにはこのような機能はありません。 Crippledsmurfが示唆するように、必要な作業を行う独自のカスタムMSBuildタスクを作成できます。その後、ビルドファイル内のdllを参照し、必要に応じてタスクを呼び出します。 – Pedro