TLBIMP.EXE - 错误TI0000 - * .dll不是有效的类型库

时间:2009-06-17 09:01:13

标签: deployment tlbimp

在构建服务器上构建项目时,编译失败并显示错误消息:

TlbImp: error TI0000 : The input file 'C:\*.dll' is not a valid type library.

我们尝试通过VS2005命令提示符手动调用TlbImp命令,并出现相同的错误消息。

为了调查,我们尝试在虚拟机(Vbox)中创建 clean 构建环境,然后在那里运行构建。一切都好。

我们还尝试通过VS2005命令提示符调用相同的TlbImp命令,并且它成功了。

有了这个,我们假设DLL没有任何问题。你知道什么情况会导致这个问题吗?

编辑: 发现问题,看我的答案。 ;)

2 个答案:

答案 0 :(得分:3)

如果它在一台机器上运行而在另一台机器上运行,则很可能在您的机器中缺少此DLL的某些依赖项。通过DependencyWalker检查dll,您将了解哪个依赖项尚未正确构建。

答案 1 :(得分:1)

仔细观察后,我们发现官方构建服务器上的环境变量是FUBAR。

官方构建服务器安装了VS2003和VS2005。我们的项目是VS2005。构建脚本使用VS2003而不是VS2005中的组件,因为VS2003路径(Path,LIB,LIBPATH和INCLUDE)首先在VS2005路径之前声明。

使用“正确的”修改构建的简单SET命令覆盖环境变量!

谢谢!