Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用VB6到c#.NET3.5应用程序中制作的dll?_.net_Interop - Fatal编程技术网

如何使用VB6到c#.NET3.5应用程序中制作的dll?

如何使用VB6到c#.NET3.5应用程序中制作的dll?,.net,interop,.net,Interop,如何使用VB6到c#.NET3.5应用程序中制作的dll?虽然我们有互操作功能,但它需要映射dll的所有函数。有没有其他快速可靠的方法。此外,是否有任何工具可以将此VB6DLL转换为.net程序集?提前感谢。除了pinvoke interop(从dll中按名称调用函数)之外。net还具有出色的COM互操作性,将vb 6 dll功能作为COM组件公开应该相对容易。您提到了转换;您是否尝试过将其创建为VB.NET程序集?如果代码不太复杂(并且不依赖于COM+之类的东西),那么很可能可以将其迁移到VB

如何使用VB6到c#.NET3.5应用程序中制作的dll?虽然我们有互操作功能,但它需要映射dll的所有函数。有没有其他快速可靠的方法。此外,是否有任何工具可以将此VB6DLL转换为.net程序集?提前感谢。

除了pinvoke interop(从dll中按名称调用函数)之外。net还具有出色的COM互操作性,将vb 6 dll功能作为COM组件公开应该相对容易。

您提到了转换;您是否尝试过将其创建为VB.NET程序集?如果代码不太复杂(并且不依赖于COM+之类的东西),那么很可能可以将其迁移到VB.NET而不需要太多麻烦。显然,这不会神奇地重构代码以使用完整的OO习惯用法,但它可能非常接近,足以让它进行编译,然后您可以从C#(或其他.NET语言)代码中引用dll。

另一种“快速可靠”的方法,如果它是注册的COM+组件,您只需右键单击.NET项目,单击
addreference…
并在COM选项卡下选择您的组件。

您是否可以共享ITI的示例或链接如果您已注册VB6DLL COM类型库,那么它应该与向c#项目(project->addreference->COM)添加新引用一样简单。要使用COM,我必须注册VB6DLL。。。这是我试图避免的。没有别的办法吗。