如何在 C# 中调用 Visual Basic 6.0 方法?
我想从 C# (Visual Studio 2008) 调用一个用 Visual Basic 6.0 编写的方法。是否可以?我该怎么做呢?
I would like to call a method which is written in visual basic 6.0 from c# (visual studio 2008). Is it possible? How would I do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
最简单的方法是将 VB6 代码编译为 ActiveX DLL。
然后你就可以在你的.net项目中引用这个DLL了。 (Visual Studio 可以正确引用 ActiveX DLL。)
Easiest way to do it is to just compile the VB6 code as an ActiveX DLL.
Then you can reference the DLL in your .net project. (Visual studio can reference ActiveX DLLs properly.)
将 VB6 DLL 编译为 activex dll
使用 -> 注册它regsvr32“新编译的vb6 dll的全名和路径”。(使用运行对话框或命令提示符来注册)
在.net中添加引用 - 选择com选项卡并搜索这个新注册的dll
现在您可以使用这个 dll。
注意:
每当您对 vb6 代码进行任何更改时,都必须再次执行上述步骤。
要取消注册 vb6 dll,请使用 regsvr32“名称和路径”/u
欢迎来到 (dll) 地狱
Compile your VB6 DLL as activex dll
Register it using -> regsvr32 "Full Name And Path of newly compiled vb6 dll".(use Run Dialog or Command Prompt to register)
In .net Add refrence - select com tab and search this newly registered dll
Now you can use this dll.
Note:
Whenever you do any changes in vb6 code, you have to follow above steps again.
To unregister vb6 dll use regsvr32 "Name and path" /u
welcome to (dll) hell
是的。这是可能的。调用它就像调用用 Visual Basic 编写的方法一样。您需要对该程序集的引用,然后只需使用正确的命名空间调用它即可。
Yes. It is possible. You call it just like you call a method which has been written in Visual Basic. You need a reference to the assembly and then you just call it with the right namespace.
当且仅当 VB6 代码被编译为 COM 服务器时才有可能。
It's possible if and only if the VB6 code is compiled as a COM server.
.NET 可以像使用任何 COM DLL 一样使用 VB6 DLL。
只需单击“添加引用”,然后选择“COM”选项卡(如果您的 DLL 已注册),或者只需单击“浏览”选项卡即可直接选择文件。
如果 COM 兼容,Visual Studio 将自动创建一个 COM 互操作程序集,它将充当 VB6 DLL 的 .NET 包装器。
您必须将 VB6 dll 和 Interop 程序集与您的程序一起部署。
.NET can use your VB6 DLL like any COM DLL.
Just click to "Add reference", then choose the "COM" Tab if your DLL is already registered, or just click the "Browse" Tab in order to select the file directly.
If COM compatible, Visual Studio will automaticly create a COM Interop Assembly that will act as a .NET wrapper to your VB6 DLL.
You will have to deploy your VB6 dll and the Interop assembly with your program.