2009-01-16 81 views
2

我的自动生成过程使用命令行来构建这样的事情:如何让Microsoft VCC在第一次构建错误时崩溃?

devenv.exe myproj.sln /build release 

这是一个很长的积累过程,通过集成一个开发团队生产的零部件。大约需要半小时才能在发布模式下运行。通常,如果一件事情不顺心,然后很多其他的依赖关系会出问题,所以我偶尔会得到以下消息:

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

其实我想构建以作为第一个发现错误立即中止。如果在构建失败时出现任何错误。我需要尽快知道这一点,而不是等待所有其他的东西都失败。

是否有办法改变构建过程,以便在出现问题时尽快完成整个过程而不是一直运行?

我使用Visual Studio .Net 2003(是的,我知道它是旧的)。

回答

6

我使用Visual Studio 2005中的下列宏要做到这一点,但它也应该在2003年的工作将此添加到宏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有涉及的宏的更多细节。