gpt4 book ai didi

vb.net - 运行时错误 -2146234341 (8013101b) 使用 list 从 VB.NET 到 VB6 的自动化错误?

转载 作者:行者123 更新时间:2023-12-03 13:11:51 32 4
gpt4 key购买 nike

我正在尝试在无注册的情况下从 VB6 客户端访问 VB.NET DLL (.NET FX 4.0)。

我尝试遵循 http://msdn.microsoft.com/en-us/library/ms973915.aspx 中的示例,但没有成功。我下载(文章中的链接)源代码并编译,但没有成功(错误消息:运行时错误'-2146234341(8013101b)':自动化错误”)。使用注册的 VB.NET DLL 从 VB6 IDE 运行。

我尝试了其他示例,其中将 .NET DLL 创建为 COM 类(使用来自 VS2010 的“COM 类”模板),是否嵌入了引用 DLL 的 list ,但对我来说没有任何效果。

有人可以提供一些简单的源代码,其中包含 VB6 客户端在 reg-free 场景中使用的 VB.NET DLL (.NET FX v4) 的 list 示例吗?

非常感谢。

最佳答案

Run-time error '-2146234341 (8013101b)': Automation error



您的问题与 list 无关,您需要先解决这个问题。错误代码是 COR_E_NEWER_RUNTIME。换句话说,您的 [ComVisible] 类无法加载,因为它依赖于 CLR 版本 4。并且程序已经加载了 CLR,很可能是版本 2,因为另一个 [ComVisible] 类首先询问。它要求版本 2。

您需要一个 app.exe.config 文件来强制加载 CLR 版本 4,即使有人要求加载版本 2。它应该如下所示:
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>

给它与 vb6 exe 相同的名称(如“foo.exe.config”以匹配“foo.exe”)并将其放在与 .exe 相同的目录中。如果要使用 VB6 IDE 调试使用此库的 vb6 代码,则还需要 c:\program files\microsoft visual studio\vb98 中的 vb6.exe.config

关于vb.net - 运行时错误 -2146234341 (8013101b) 使用 list 从 VB.NET 到 VB6 的自动化错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11469592/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com