我在vb6中使用.NET COM遇到了问题,它编译正常,我使用regasm注册它,在vb6项目中添加对它的引用,它甚至有智能感知功能。但是当我尝试创建一个实例时,它给了我一个“自动化错误”。有人能帮上忙吗?
提前谢谢。
发布于 2008-11-06 22:46:43
您可能需要确保您的.NET程序集位于VB6应用程序的目录中,或者如果在VB6集成开发环境中进行调试,则需要确保它们位于VB6.exe的目录中。
可以使COM互操作与.NET程序集的工作方式更像COM dlls (参见regasm的代码库选项,但在默认情况下,会以通常的方式搜索.NET程序集-即在GAC或应用程序目录中-即使通过COM互操作使用也是如此。
要深入了解程序集应该位于何处,一个非常简单的方法是使用sysinternals filemon实用程序。
发布于 2009-02-24 20:44:35
我认为您必须以某种方式编译.Net项目以供COM对象使用。并且.Net dlls需要与调用它们的COM对象位于同一目录中(如果它们占用相同的空间,我认为)。
项目属性页\配置属性\生成\注册COM Interop = true
https://stackoverflow.com/questions/270613
复制相似问题