我的自动构建过程使用命令行来构建这样的东西:
devenv.exe myproj.sln /build release
这是一个非常长的构建过程,它集成了由开发人员团队制作的组件.在发布模式下运行大约需要半小时.通常如果出现一个问题,那么很多其他依赖会出错,所以我偶尔会收到如下消息:
---------------------- Done ---------------------- Rebuild All: 18 succeeded, 6 failed, 0 skipped
实际上,我希望一旦发现第一个错误,构建就会中止.如果有任何错误,则构建失败.我需要尽快知道这一点,而不是等着看其他所有东西都失败了.
有没有办法改变构建过程,以便一旦出现问题而不是贯穿整个事件而死亡?
我正在使用Visual Studio .Net 2003(是的,我知道它已经过时了).
我在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
这将导致在任何单个项目无法构建时取消构建.
此页面包含有关宏的更多详细信息.