Как заставить Microsoft VCC аварийно завершить работу при первой ошибке сборки? - PullRequest
2 голосов
/ 16 января 2009

Мой автоматизированный процесс сборки использует командную строку для создания чего-то подобного:

devenv.exe myproj.sln /build release

Это очень долгий процесс сборки, который объединяет компоненты, созданные командой разработчиков. В режиме выпуска требуется около получаса. Обычно, если что-то пойдет не так, то пойдет не так много других зависимостей, поэтому я иногда получаю сообщение вроде:

---------------------- Done ----------------------
Rebuild All: 18 succeeded, 6 failed, 0 skipped

На самом деле я хочу, чтобы сборка прервалась, как только будет найдена первая ошибка . Если есть какие-либо ошибки, сборка не удалась. Мне нужно знать это как можно скорее, а не ждать, пока все остальные вещи потерпят неудачу.

Есть ли способ изменить процесс сборки так, чтобы вместо прохождения всего процесса он умирал, как только что-то пошло не так?

Я использую Visual Studio .Net 2003 (да, я знаю, что он старый).

1 Ответ

6 голосов
/ 16 января 2009

Я использую следующий макрос в Visual Studio 2005 для этого, но он должен также работать в 2003 году. Добавьте это в модуль EnvironmentEvents в IDE макросов:

    Private Sub BuildEvents_OnBuildProjConfigDone(ByVal Project As String, ByVal ProjectConfig As String, ByVal Platform As String, ByVal SolutionConfig As String, ByVal Success As Boolean) Handles BuildEvents.OnBuildProjConfigDone
        If Success = False Then
            DTE.ExecuteCommand("Build.Cancel")
        End If
    End Sub

Это приведет к отмене сборки, если не удастся построить какой-либо один проект.

Эта страница содержит дополнительную информацию о задействованных макросах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...