Сегодня я копирую / вставляю в каждую цель, которую я хочу измерить, и записываю ее продолжительность:
<Target Name="YabaDabaDoo" ...>
<PropertyGroup>
<Start>$([System.DateTime]::Now.Ticks)</Start>
</PropertyGroup>
...
<PropertyGroup>
<End>$([System.DateTime]::Now.Ticks)</End>
<Ticks>$([MSBuild]::Subtract($(End), $(Start)))</Ticks>
<Elapsed>$([MSBuild]::Divide($(Ticks), 10000000))</Elapsed>
</PropertyGroup>
<Message Text="Duration: $(Elapsed) seconds" Importance="High"/>
</Target>
Мне это не нравится, потому что оно слишком многословно, а иногда целевая логика занимает меньше места, чем запись продолжительности.
Есть ли способ реализовать это более кратко?