我正在尝试将我们从旧的基于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但我看不到如何在脚本中指定它。
根据doco。,“exename”是“应该用于启动外部程序的可执行文件的名称”。但被指定为“框架可配置参数”。我已经尝试将它作为属性添加到vb6标记中,但这会产生意外的属性错误。
我似乎无法找到一个如何在任何地方将vb6.exe路径指定为框架可配置参数的示例...请帮助。
答案 0 :(得分:5)
您不需要设置(并且不打算设置)exename
参数,NAnt任务将为您找到VB编译器。 exename
框架可配置参数实际上是在ExternalProgramBase
任务继承的抽象类vb6
中定义的。
vb6
任务要求安装Visual Basic IDE,以便它可以使用vb6.exe
。通过查找vb6.exe
(refer the source code)来找到SOFTWARE\Microsoft\VisualStudio\6.0\Setup\Microsoft Visual Basic\ProductDir
。
由于您表示这是一台新的构建计算机并且您正在重新安装软件(例如NAnt Contrib),因此很可能您没有在此新构建计算机上重新安装Visual Basic。如果已安装它,请检查注册表项并按照路径操作,您可能需要重新安装Visual Basic才能修复注册表项。