Vb6 使用免注册COM/.NET互操作探查.NET程序集

Vb6 使用免注册COM/.NET互操作探查.NET程序集,vb6,interop,.net-2.0,regfreecom,probing,Vb6,Interop,.net 2.0,Regfreecom,Probing,我们有一个由VB6可执行文件通过COM互操作使用的程序集。此程序集使用其他.NET程序集(不适用于COM)。我们已经为VB6应用程序定义了一个.manifest,这样我们就可以在不注册的情况下使用.NET程序集。我们还使用探测设置为VB6应用程序定义了一个.config,以便在子目录(“bin”)中查找程序集 如果我们将所有.NET程序集放在指定的子目录(“bin”)中,我们的应用程序将成功启动,我们可以使用它,直到互操作程序集调用其他程序集的某些代码为止。然后我们得到一个运行时错误“429”:

我们有一个由VB6可执行文件通过COM互操作使用的程序集。此程序集使用其他.NET程序集(不适用于COM)。我们已经为VB6应用程序定义了一个.manifest,这样我们就可以在不注册的情况下使用.NET程序集。我们还使用探测设置为VB6应用程序定义了一个.config,以便在子目录(“bin”)中查找程序集

如果我们将所有.NET程序集放在指定的子目录(“bin”)中,我们的应用程序将成功启动,我们可以使用它,直到互操作程序集调用其他程序集的某些代码为止。然后我们得到一个运行时错误“429”:ActiveX组件无法创建对象

当我们删除.config文件并将所有文件放在同一目录中时,应用程序将按预期工作

是否可以对VB6可执行文件使用的.NET程序集使用探测? 是否有方法正确设置探测,以便成功定位其他程序集

.config

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin"/>
      </assemblyBinding>
   </runtime>
</configuration>


看来你的.config文件不起作用了。当您尝试从VB6 IDE调试VB6应用程序时,可能会发生这种情况,CLR将在错误的目录中查找.config文件。解决此问题所需的最终工具是,它会显示CLR查找程序集的位置。

嗯,您的.config文件似乎不起作用。当您尝试从VB6 IDE调试VB6应用程序时,可能会发生这种情况,CLR将在错误的目录中查找.config文件。解决此问题所需的最终工具是,它显示CLR查找程序集的位置。

使用探测找到互操作程序集,但未解析从属程序集。我将尝试fuslogvw.exe。使用探测找到互操作程序集,但未解析从属程序集。我将尝试一下fuslogvw.exe。