微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在vb.net中使用vb6 ocx控件时无法加载文件或程序集“ Interop.VBRUN” 注释

如何解决在vb.net中使用vb6 ocx控件时无法加载文件或程序集“ Interop.VBRUN” 注释

上下文

我需要创建一个vb6 ocx控件,并在vb.net中使用它。 本质上,它是在旧的vb6 PictureBox上绘制的方法的集合。

创建 .ocx 文件后,我将按照通常的regsvr32过程对其进行记录,然后将其导入到Visual Studio工具箱中。 我可以毫无问题地将新控件添加到表单中,然后它就会运行。

问题

如果我添加一个button并在其click子中调用该控件的函数(应该在pictureBox上画一条线),则会引发异常:

System.IO.FileNotFoundException

无法加载文件或程序集'Interop.VBRUN,Version = 6.0.0.0,Culture = neutral,PublicKeyToken = null'或其依赖项之一。

尝试

  • 我尝试将所有控制代码复制到一个新项目中,然后再次导出ocx。 没有结果。
  • 我尝试在Visual Studio 2008和Visual Studio 2019(在Windows XP和Windows 10上)上使用控件。 没有结果。
  • 我试图注释掉大多数ocx控制代码,仅使一些方法保持活动状态。 没有结果。
  • 我试图在vb6项目中使用该控件。 它运行完美
  • 我尝试尝试将此Interop.VBRUN导入作为参考,但是在任何地方都找不到。

注释

我在装有 Windows XP 的虚拟机上使用Vb6。我已经在此虚拟机及其外部(在 Windows 10 上)的Visual Studio(2008和2019)中测试了ocx。我的设置:

  • 目标框架= .NET Framework 4 ;
  • 目标cpu = x86

我还在网络上的 stackoverflow 搜索了一种解决方案:几乎没有类似的结果,但是没有一个有效的解决方案。

问题

如何解决此问题? Interop.VBRUN是什么?问题是由代码(然后我应该重写)还是其他原因引起的?

解决方法

我使用aximp.exe在vb6 * .ocx周围放置了包装。也许试试看?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。