运行时错误-2146234341(8013101b)自动化错误从VB.NET到VB6,使用清单?

问题描述 投票:11回答:1

我想从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类的引用的DLL嵌入或不创建(使用VS2010“COM类”模板),与舱单其他的例子,但没有为我工作。

有人可以提供与免费REG-场景VB6客户端使用VB.NET DLL(.NET FX V4)的舱单例如一些简单的源代码?

感谢很多提前。

vb.net .net-4.0 vb6 regfreecom
1个回答
18
投票

运行时错误“-2146234341(8013101b)”:自动化错误

您的问题没有什么关系清单,你需要首先解决这一问题之一。错误代码是COR_E_NEWER_RUNTIME。换句话说,你的[标记有ComVisible特性]类不能被加载,因为它依赖于CLR版本4,并在该程序已加载CLR中,第2版最有可能的,因为另一个[标记有ComVisible特性]类先问。它要求2版本。

你需要迫使CLR版本4中得到加载,甚至当有人询问2.它应该看起来像这个版本的app.exe.config文件:

<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
  </startup>
</configuration>

给它同名的EXE VB6(如“foo.exe.config”匹配“foo.exe的”),并把它放在同一目录下.exe文件。如果你想使用VB6 IDE调试使用这个库,那么你还需要在C vb6.exe.config您的VB6代码:\ Program Files文件\微软的Visual Studio \ VB98

© www.soinside.com 2019 - 2024. All rights reserved.