在vb6中使用.NET COM

在vb6中使用.NET COM,.net,com,vb6,.net,Com,Vb6,我在vb6中使用.NET COM时遇到问题,它编译正常,我使用regasm注册它,在vb6项目中添加对它的引用,它甚至有intellisense。但当我尝试创建一个实例时,它会给我一个“自动化错误”。有人能帮忙吗 提前感谢。您可能需要确保.NET程序集位于VB6应用程序的目录中,或者如果在VB6 IDE中调试,则需要确保它们位于VB6.exe的目录中 可以使COM与.NET程序集的互操作更像COM DLL(请参阅的codebase选项),但默认情况下,即使通过COM互操作使用,.NET程序集,也

我在vb6中使用.NET COM时遇到问题,它编译正常,我使用regasm注册它,在vb6项目中添加对它的引用,它甚至有intellisense。但当我尝试创建一个实例时,它会给我一个“自动化错误”。有人能帮忙吗


提前感谢。

您可能需要确保.NET程序集位于VB6应用程序的目录中,或者如果在VB6 IDE中调试,则需要确保它们位于VB6.exe的目录中

可以使COM与.NET程序集的互操作更像COM DLL(请参阅的codebase选项),但默认情况下,即使通过COM互操作使用,.NET程序集,也会以通常的方式(即在GAC或应用程序目录中)搜索.NET程序集


了解程序集应该位于何处的一个非常简单的方法是使用sysinternals实用程序。

我认为您必须以某种方式编译.Net项目,以便COM对象使用。Net DLL需要与调用它们的COM对象位于同一目录下(如果它们占用相同的空间)

项目属性页\Configuration Properties\Build\Register for COM Interop=true