Я строй различных проектов с использованием < MSBuild Projects =»... разметка. Я затем выполняю некоторые инструменты командной строки, после того, как проект будет построен.MSBuild условный Exec?
Например
<Target Name="Name">
<MSBuild Projects="" />
<Exec Command="" />
</Target>
Я заметил, что проект создается только по мере необходимости и получает следующий результат при запуске скрипта сборки: «Пропуск целевой« CoreCompile », потому что все выходные файлы являются актуальными». Это здорово, но как я могу сделать свои команды < Exec ... использовать те же условия, чтобы они выполнялись только при необходимости?
Обновление: Я внедрил предложение gregmac, но все равно выполняю команду. Это то, что я получил в настоящее время:
<Target Name="Name">
<MSBuild Projects="">
<Output TaskParameter="TargetOutputs" ItemName="AssembliesBuiltByChildProjects" />
</MSBuild>
<Exec Command="" Condition="'@(AssembliesBuiltByChildProjects)'!=''" />
Любая дополнительная помощь очень ценится. Это немного для меня.
Спасибо за любые советы.
Алан
Привет, Спасибо за ваше предложение и извините за задержку в ответе. Я просто собираюсь попробовать это сейчас. Я пробовал, но все еще выполнял команду независимо от того, был ли проект построен. См. Мой обновленный вопрос. Есть идеи? –
Изучив это далее, я вижу, что AssembliesBuiltByChildProjects содержит имя моей сборки. Однако нет никакой разницы в этом значении, строится ли проект или нет ... Это немного разочаровывает, потому что это так близко. Может ли кто-нибудь пролить свет? –