【发布时间】:2018-09-12 07:29:52
【问题描述】:
我正在尝试添加一个 DLL 作为对我的项目的引用(在 VS2010 上使用 .NET Framework 4 为 64 位)。但我收到以下错误:
无法添加对“XXX”的引用。请确保该文件是可访问的,并且它是一个有效的汇编或 COM 组件
使用 RegSvr32 安装 DLL 说:
模块已加载,但未找到入口点 DLLRegisterServer...
尝试使用 RegAsm 安装 DLL 说:
错误 RA0000:无法加载“XXX”,因为它不是有效的 .NET 程序集。
我不知道是什么类型的 DLL,但它包含在为 .NET Framework 和 C# 编写的 SDK 中。
谁能帮我解决这个问题?
非常感谢!
【问题讨论】:
-
听起来它不是 COM 组件或托管 dll。 Dependency Walker 对这个文件有什么看法?也许它是一个原生库,你必须使用 pinvoke
-
@DennisKuypers Dependency Walker 甚至无法加载 dll。它表示以下内容:错误:未找到至少一个必需的隐式或转发依赖项。警告:未找到至少一个延迟加载依赖模块。
-
尽管 Dependency Walker 抛出了错误,它在 gui 中声明了以下内容: - XXX.dll * KERNEL32.DLL * USER32.DLL * MSVCP90.DLL * WS2_32.DLL * MSVCR90.DLL跨度>
-
这本身不是错误 - 但从 MSVCP (Microsoft Visual C Plusplus/Runtime) 你可以看到它是一个 C/C++ 本机 dll,你必须使用 pinvoke
-
@DennisKuypers 我会的!非常感谢!