Visual studio 如果程序显示对话框(devenv.com在CruiseControl.net下运行),则终止该程序

Visual studio 如果程序显示对话框(devenv.com在CruiseControl.net下运行),则终止该程序,visual-studio,command-line,cruisecontrol.net,Visual Studio,Command Line,Cruisecontrol.net,我让CruiseControl.net运行Visual Studio(2005/2008-使用devenv.com),因为我们需要构建部署项目(.vdproj) 有时,由于各种原因,devenv决定,即使它是使用devenv.com变量从命令行运行的,它仍然希望显示一个对话框 现在,由于它在远程服务器上的CruiseControl.net下运行,这是从未见过的,唯一的症状是构建最终超时。当构建仍在进行时,查看任务会发现devenv正在运行,但不消耗任何处理器电源 有没有一个方便的实用程序可以运行

我让CruiseControl.net运行Visual Studio(2005/2008-使用devenv.com),因为我们需要构建部署项目(.vdproj)

有时,由于各种原因,devenv决定,即使它是使用devenv.com变量从命令行运行的,它仍然希望显示一个对话框

现在,由于它在远程服务器上的CruiseControl.net下运行,这是从未见过的,唯一的症状是构建最终超时。当构建仍在进行时,查看任务会发现devenv正在运行,但不消耗任何处理器电源


有没有一个方便的实用程序可以运行devenv.com,它基本上监视程序启动,如果它胆敢显示任何类型的对话框,它基本上会杀死它?

它会显示什么类型的对话框,为什么?您可以编写一个应用程序来消除对话框,但这并不容易——您需要使用CBT挂钩之类的工具

我们使用ClearCase进行版本控制,它有一些问题,包括不能合并.vdproj文件而不在不同的地方引入随机字符。随机损坏的.vdproj文件会弹出对话框。我现在已经把它归结到这一点上了——它在弹出关于源代码管理不匹配的对话框(我们并没有特意在构建服务器上使用ClearCase),但已经拍摄到了这些对话框。只是.vdproj文件损坏问题-我有一个长期的方法来解决这个问题-专门为他们编写一个合并管理器,但这不是一个快速简单的工作。您可能不需要CBT挂钩。您可能可以编写一个简单的.net EXE,它使用像White这样的UI测试框架来查找具有已知标题/名称的窗口并将其关闭。