我们可以在.net 3.5 prioject中使用Vb6生成的dll吗?

发布于 2024-10-01 10:29:17 字数 78 浏览 4 评论 0 原文

我需要在 .Net 代码中使用 VB6 生成的 dll,但我很困惑,因为两者的编译是不同的。我不确定.Net运行时是否拒绝使用VB6 dll。

I have a requirement to use VB6 generated dlls in .Net code but I am confused because compilation of both are differnet. and I am not sure that if .Net run time refuse to use VB6 dlls.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

猫烠⑼条掵仅有一顆心 2024-10-08 10:29:17

您可以通过在 .NET 项目中的“添加引用”对话框的 COM 选项卡上添加对组件的引用来引用从 VB6 生成的 ActiveX (COM) DLL(并使用 regsvr32 注册)。 Visual Studio 将为您生成所需的互操作层。

You can reference an ActiveX (COM) DLL produced from VB6 (and registered using regsvr32) by adding a reference to the the component on the COM tab of the Add Reference dialog in your .NET project. Visual Studio will generate the required interop layer for you.

嘦怹 2024-10-08 10:29:17

VB6 dll 不是 .NET 程序集,并且本质上有很大不同(非托管代码与托管代码),因此您不能直接使用它们。您需要 PInvokePInvokeCOM 互操作

VB6 dlls are not .NET assemblies and are very different in nature (unmanaged vs managed code) so you cannot use them directly. You need PInvoke or COM interop.

戈亓 2024-10-08 10:29:17

VB6 编译器生成的 dll 与 .NET 编译器生成的程序集(也称为 dll)非常不同。

如果没有互操作层,您将无法直接调用它们。

The dlls that the VB6 compiler generates are very different from the assemblies (also confusingly called dll's) that a .NET compiler generates.

You will not be able to call them directly without an interop layer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文