【发布时间】:2010-05-10 12:33:37
【问题描述】:
我有一个正在使用 CruiseControl.NET 构建的项目。该项目包含一个“MSBuild 任务”,它运行项目的构建以及单元测试。反过来,单元测试只是一个运行可执行文件的 MSBuild 'exec' 任务。
单元测试涉及一些 .NET 远程处理。当单元测试通过系统命令提示符运行时,软件窗口打开,测试运行并退出进程。
当我通过 Web 仪表板强制构建时,构建会在单元测试开始运行的位置挂起。软件的窗口没有打开,但可执行文件正在运行。如果进程通过任务资源管理器被终止,则构建以“失败”状态进行。当我将 ccnet 作为 Windows 服务运行时会发生这种情况。
如果我直接运行 CCNet(而不是作为 Windows 服务)并通过 Web 仪表板强制构建,则构建和单元测试会按预期顺利进行。 (软件窗口打开。)
在 CCNet 作为 Windows 服务运行的情况下,似乎出现了死锁。我猜它与标准输出/错误流有关。
这是已知问题吗?
可能是什么问题?
关于调试有什么建议吗?
我该如何解决?
(我使用的是 CCNet 版本 1.4.4 SP1)
【问题讨论】:
标签: unit-testing windows-services cruisecontrol.net .net-remoting