如何解决在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 举报,一经查实,本站将立刻删除。