在vb6中使用.NET COM

4
我在使用VB6中的.NET COM时遇到了问题。它可以正常编译并使用regasm进行注册,在VB6项目中添加了对它的引用,甚至还具有智能感知功能。但是当我尝试创建实例时,它会给出“自动化错误”。有人能帮忙吗?
提前致谢。
2个回答

3
您可能需要确保您的.NET程序集位于VB6应用程序目录中,或者在VB6 IDE中进行调试时,它们位于VB6.exe的目录中。
可以使COM互操作与.NET程序集更像COM dlls(请参见regasm的codebase选项),但默认情况下,即使通过COM互操作使用,.NET程序集也会按照通常的方式进行搜索 - 即在GAC或应用程序目录中进行搜索。
了解程序集应该在哪里的一个非常简单的方法是使用sysinternals filemon实用程序。

0

我认为您需要以特定的方式编译 .Net 项目,以便被 COM 对象使用。同时,.Net dll 文件需要与调用它们的 COM 对象在同一目录下(如果它们占据相同的空间的话)。

项目属性页面\配置属性\生成\注册 COM 互操作 = true


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接