我的自动构建过程使用命令行来构建如下内容:
devenv.exe myproj.sln /build release
这是一个非常长的构建过程,它集成了由开发人员团队制作的组件。在发布模式下运行大约需要半小时。通常如果出现一个问题,那么很多其他依赖会出错,所以我偶尔会收到如下消息:
---------------------- Done ----------------------
Rebuild All: 18 succeeded, 6 failed, 0 skipped
实际上,我希望一旦发现第一个错误,构建就会中止。如果有任何错误,则构建失败。我需要尽快知道这一点,而不是等着看其他所有东西都失败了。
有没有办法改变构建过程,以便一旦出现问题,它就会在整个过程中崩溃而不是它会死掉?
我正在使用Visual Studio .Net 2003(是的,我知道它已经过时了)。
答案 0 :(得分:6)
我在Visual Studio 2005中使用以下宏来执行此操作,但它也应该在2003中运行。将它添加到Macros IDE中的EnvironmentEvents模块:
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
当任何单个项目无法构建时,这将导致构建取消。
This page详细介绍了所涉及的宏。