Связанное решение для макроса определенно будет работать только тогда, когда открыта полная IDE, поскольку оно полагается на проверку окна вывода. Кроме того, при сборке из командной строки с помощью devenv.exe для внутреннего использования будет использоваться только MSBuild, поэтому в основном вам нужно решение, которое сообщает MSBuild об остановке при первом сбое. К сожалению, нет простого способа сделать это при сборке из файла решения. Для MSBuild есть свойство StopOnFirstFailure , но оно не работает должным образом с несколькими проектами в решении .
Лучше всего этот хак упоминается здесь . По сути, вам нужно преобразовать ваш * .sln в * .proj и установить для RunEachTargetSeparately значение false. Единственная неопределенность заключается в том, что это может не совсем работать с Visual C ++ 2008, поскольку он все еще использует VCBuild вместо 100% MSBuild, как в Visual Studio 2010.