Jus*_*ony 5 c# vb6 late-binding .net-3.5 oleview
我需要延迟绑定到3.5 C#应用程序中的第三方VB6 COM对象(以避免我们当前拥有的版本依赖项).由于某些错误在我们尝试正常使用时导致错误,因此提供的dll在大多数非后期方式中都不可使用.目前,我们正在使用一个自定义的VB6包装器,它使得VERY特定于版本,但是我发现我可以使用后期绑定来访问属性和方法.现在,我试图延迟绑定到事件,但是我读到的所有内容都说我需要从COM包装器的接口继承来创建所需的事件接收器.这是一篇这样的文章.
所以,我的问题是,是否有可能在编译时没有引用dll的情况下执行后期绑定事件处理?
UPDATE
以下是我对VB6包装器的错误(仍在积极更新).
无法反编译所选项目错误加载类型库/ DLL.TYPE_E_CANTLOADLIBRARY($ 80029C4A)
无法确定COM引用"3rdPartyDLL"的依赖项.加载类型库/ DLL时出错.(来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))
该问题很可能是由您使用的平台引起的。我昨天刚刚遇到了类似的问题。当您后期绑定x86 /x64 COM 类型库时,请确保将项目平台设置为x86 / x64 。
这同样适用于oleview
. 使用x86/x64版本查看x86/x64类型库。(如果您使用的是 x64 系统,则可能需要安装 x64 Windows SDK 才能获得正确的可执行文件)。