尝试使用类型库,但出现 File Not Found 错误
Posted
技术标签:
【中文标题】尝试使用类型库,但出现 File Not Found 错误【英文标题】:Trying to use type library but I get a File Not Found error 【发布时间】:2014-01-16 17:32:43 【问题描述】:我有一个用 Visual C++ 创建的类型库,我试图在 VBA 中调用它的函数。我有两个文件:utility.dll
和 utility.tlb
。我通过转到参考并浏览到utility.tlb
,在我的 VBA 项目中包含了对该库的引用。但是当我编译项目时,我收到一条错误消息:
File not found: utility.dll
我已将这两个库文件与具有 VBA 项目的 .xlsm 文件放在同一目录中。我想可能是 DLL 注册问题,所以我尝试在 utility.dll
上运行 regsvr32
并收到以下错误消息:
The module "utility.dll" may not compatible with the version of Windows
that you're running. Check if the module is compatible with an x86 (32-bit)
or x64 (64-bit) version of regsvr32.exe.
我可以访问创建库文件的 C++ 项目的源代码、.sln 文件等。
接下来我应该怎么做才能让我的 VBA 项目能够使用这个类型库?
【问题讨论】:
使用 c:\windows\syswow64\regsvr32.exe 代替。 @HansPassant,这给了我关于may not compatible
[原文如此] 的相同回复。
在 Visual Studio 中转到解决方案属性并在“构建”选项卡上选择您的平台 - 如果它是用于 64 位办公室的 64 位类库,则选择 x64
作为平台目标而不是任何 CPU
【参考方案1】:
问题在于类型库将 DLL 搜索路径硬编码到仅存在于开发计算机上的文件夹中。改变它消除了错误。
【讨论】:
以上是关于尝试使用类型库,但出现 File Not Found 错误的主要内容,如果未能解决你的问题,请参考以下文章
DevTools failed to load source map: Could not load content for…System error: net::ERR_FILE_NOT_FOUN
DevTools failed to load source map: Could not load content for…System error: net::ERR_FILE_NOT_FOUN
springboot整合mybatis 异常 org.apache.ibatis.binding.BindingException: Invalid bound statement (not foun
[原]使用SevenZipSharp出现“Can not load 7-zip library or internal COM error! Message: DLL file does