Для этого вам придется покопаться в MSBuild. Вам необходимо добавить условие для проверки одной из переменных среды, заданной при запуске в контексте сборки, и запускать только в том случае, если эта переменная среды пуста.
Например,
<PropertyGroup>
<PostBuildEvent Condition=" '$(BUILD_SOURCESDIRECTORY)' == '' ">echo Hello World</PostBuildEvent>
</PropertyGroup>
BUILD_SOURCESDIRECTORY
- это переменная среды, которая заполняется при запуске в контексте сборки, но обычно не заполняется на рабочем столе разработчика. Таким образом, echo Hello World
будет работать только тогда, когда это значение пустое.