Halconray
技术员
技术员
  • 最后登录2017-03-02
  • 发帖数11
  • 金币101枚
  • 贡献勋章0枚
  • 社区居民
阅读:1207回复:1

C#添加Halcondotnet.DLL目标平台设为X86就出错

楼主#
更多 发布于:2016-11-04 18:56
环境:
Win10 X64  +  Halcon 11.0.3 + VS 2015


背景:
新建一个窗体工程,拖一个Halcon控件到窗体上hWindowControl1。


问题:
如果把目标平台设为AnyCPU或X64,程序一切正常。
如果把目标平台设为X86,编译通过窗体不弹出,
在这一句:      
frmMain.Designer.cs 的
      this.hWindowControl1 = new HalconDotNet.HWindowControl();


程序卡住了,大约10秒之后自己退出了。
输出窗口提示:
引发的异常:“System.BadImageFormatException”(位于 halcondotnet.dll 中)



调试:
  • 百度找到上面那句提示的原因:
一般出现 此类原因是由于  ” 目标程序的目标平台与 依赖项的目标编译平台不一致导致,把所有的项目都修改到同一目标平台下(X86、X64或AnyCPU)进行编译,一般即可解决问题“    
但是,不巧的是使用了PointGrey相机,它的DLL跟Halcon一个样的问题,必须使用X86平台,如果使用别的,它就崩溃了。

  • 找到Halcon安装目录下的C# 工程 的例子,也有同样的错误




求救:
1. 让Halcon能用在X86平台
2. 让PointGrey能用在AnyCPU或者X64平台

最新喜欢:

zhanglei2002006zhangl... likooooolikooo...
yf1002439225
初学者
初学者
  • 最后登录2017-11-03
  • 发帖数11
  • 金币61枚
  • 贡献勋章0枚
沙发#
发布于:2016-12-17 16:34
你的DLL本身就是64位的吧,你好一个32的
游客

返回顶部