在 CruiseControl.net 中构建 VB6 应用程序的 DCOM 问题

Posted

技术标签:

【中文标题】在 CruiseControl.net 中构建 VB6 应用程序的 DCOM 问题【英文标题】:DCOM problems building a VB6 app in CruiseControl.net 【发布时间】:2010-04-27 10:54:25 【问题描述】:

我可以成功地构建一个依赖于构建机器上几个 DCOM 设置的 VB6 应用程序,没问题。

但是。我第二次尝试运行相同的构建过程时,它失败了,因为 DCOM 和/或 IIS 锁定了我正在尝试重建的输出文件。

目前,如果我登录到构建机器并重置 iis(使用 iisreset 或其他方式),这会释放这些输出文件上的锁定,从而使构建成功完成。

显然,我不想登录构建机器,当然也不想一直重置 IIS - 有没有其他方法可以解决这个问题?

谢谢。

【问题讨论】:

【参考方案1】:

我想我找到了一个解决方案 - 不是很漂亮,但它是一种解决方法。

基本上,在构建之前,我会调用一个小型应用程序来终止构建期间将要构建的所有正在运行的进程。一旦它们被杀死,组件就不再在内存中运行,也不再持有文件的锁。

正如我所说,可能有一种更清洁的方法,我会继续寻找,但就目前而言,这应该足够了。

【讨论】:

以上是关于在 CruiseControl.net 中构建 VB6 应用程序的 DCOM 问题的主要内容,如果未能解决你的问题,请参考以下文章

CruiseControl.NET(CCNET)“收到进程退出事件”但构建等待?

为啥 CruiseControl.NET 无法构建,但使用命令行中的 msbuild.exe 有效?

CruiseControl.Net 在使用 msbuild 任务的项目后重新启动

在 devenv 和 msbuild 中使用 CruiseControl.net 时输出二进制文件的任何差异

Cruisecontrol.net exec 中的 Fitnesse:测试失败时不要使构建失败

让 MSBuild 和 CruiseControl .NET 构建和部署 VS2010 数据库项目