【发布时间】:2010-08-19 16:43:10
【问题描述】:
我通过 Google 找到了大量关于如何从 .NET 代码调用非托管 DLL 中的 API 函数的示例,但是如何从非托管代码实例化对象呢?
我目前正在修改公司想要迁移到的旧的遗留应用程序(我还不相信我们能够对此做任何事情,但我必须进行修改和研究) 。网。看来这是以前尝试过的,我现在正在查看。最常见的编译错误是对项目不理解的旧 DLL 的引用。
其中一行代码的示例是:
Dim cAccounts As HSVMETADATALib.HsvAccounts
项目中对库的引用已损坏,我相信这是某些向导驱动的尝试将某些 pre-.NET 项目移植到 .NET 的结果。我有它正在寻找的 DLL,但添加对它的引用会返回错误:
不能添加对“HFMConstants.dll”的引用。请确保该文件是可访问的,并且它是一个有效的程序集或 COM 组件。
现在,我对这个 DLL一无所知。而且我在预 .NET Windows 编程方面的经验非常。因此,我一直在网上寻找有关在此代码中使用旧 DLL 的信息,这些信息都集中在调用 DLL 中的 API 函数上。然而,纵观这段代码,它更多的是关于对象的 API 函数。那么我将如何实例化这些对象之一的实例呢?
(请注意,这是我们甚至不知道我们是否拥有正确的源代码的情况之一,没有文档,没有关于此应用程序的所有权和维护的任何内容。但这是一个障碍能够从外部 DLL 实例化对象,这些外部 DLL 来自一些未知且此时可能无法访问的第三方源,将减少大多数编译器错误并帮助我们进入更多的代码内容,甚至可能获得至少可编译的精简版本。)
这很模糊,但值得一问:)
【问题讨论】: