我有一个Excel2.0COM对象,供.NET中的VBA使用。它在我的dev机器上工作得很好,但当我试图在一个干净的VM工作站上使用它时,我得到了这个错误:
自动化错误。系统找不到指定的文件。
这个dll是用"regasm /tlb /codebase mycom.dll“注册的,而不是放在GAC里。我没有VM机器的管理权限
有什么想法吗?
发布于 2009-05-19 12:09:19
您需要使用程序集的完整路径作为codebase
参数值来调用regasm,或者将程序集放到某个位置,该位置始终位于搜索库的路径上。否则,当客户端尝试实例化COM对象时将找不到它。
发布于 2015-08-18 21:54:03
在我创建了一个.NET .dll (v4.0)并打算在VB6应用程序中使用它(用"ClassInterface“和"ComVisible”属性修饰我的类,用“ComVisible”修饰我的方法)之后,我收到了这个“自动化错误。系统找不到指定的文件”错误。
我运行了"regasm.exe -tlb C:\PathTo\MyDll.dll“,但在将.tlb文件作为引用添加到我的VB6应用程序中并运行/调试它之后,收到了上述错误。只有在将"-codebase“参数添加到regasm.exe调用并重新添加.tlb引用之后,错误才得到解决。
只是想和你分享一下我的经历。
发布于 2016-06-17 00:41:33
我还收到一个自动化错误。我的引用(在MS Access中)是一个TLB文件。保存TLB文件的文件夹中缺少相应的DLL文件,这导致出现“automation error”消息。将DLL添加回已修复。
https://stackoverflow.com/questions/881750
复制相似问题