0

我正在尝试将我们从基于 CruiseControl 的旧构建服务器迁移到新的 TeamCity,并且在使用我们仍然拥有的旧的基于 VB6 的组件时遇到了问题。

我们正在使用 Nant 脚本,这使任务变得更容易,但我遇到了 vb6 nant 任务的障碍。我已经安装了 nant.contrib.tasks 以便现在可以识别标签,但我仍然收到错误消息......

[Step 1/1] D:\TeamCity\buildAgent\work\d2bf2472d554430\VB6Web\VB6Web.build(157,8):
'vb6' failed to start.
[Step 1/1] Step VB6Web Build (NAnt) failed.

我了解此错误“'vb6' 无法启动。” 通常意味着它找不到 vb6.exe 但我看不到如何在脚本中指定它。

根据文档,“exename”是“应该用于启动外部程序的可执行文件的名称”。但被指定为“框架可配置参数”。我尝试将它作为属性添加到 vb6 标记中,但这给出了 Unexpected 属性错误。

我似乎无法在任何地方找到如何将 vb6.exe 路径指定为框架可配置参数的示例......请帮助。

4

1 回答 1

5

您不需要设置(也不打算设置)exename参数,NAnt 任务将为您找到 VB 编译器。exename框架可配置参数实际上是在任务继承的抽象类中ExternalProgramBase定义vb6的。

vb6任务要求安装 Visual Basic IDE 以便它可以使用vb6.exe. 它会vb6.exe通过查找找到SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual Basic\ProductDir参考源代码)。

由于您指出这是一台新的构建机器并且您正在重新安装软件(例如 NAnt Contrib),因此您很可能没有在这台新的构建机器上重新安装 Visual Basic。如果您已安装它,请检查注册表项并按照路径进行操作,您可能需要重新安装 Visual Basic 以修复注册表项。

于 2013-10-16T11:25:34.637 回答