我们开发了一个应用程序来控制和扫描任何文件,如图像等,作为一个 C# Winform 应用程序,它可以在 x86 OS 平台下成功运行。在应用程序中,我们使用 C# twain 类向扫描仪发送命令,这样我们就可以实现我们想要的。众所周知,Twain_32.dll文件用于运行应用程序并进行无故障扫描。
我的问题是,在 x64 操作系统平台上,我们无法运行应用程序并得到一个名为BadImageFormatException的错误,它试图告诉我们这一切都与操作系统类型有关!所以这个错误指出我尝试在不兼容的操作系统类型下运行应用程序。
我已经体验过 32 位 twain dll 在 x64 系统下的工作,但我遇到了另一个问题。我们在一个父表单下运行我们的所有应用程序,即 MDI 父表单。所以我想用作扫描目的的表格将是一个 MDI 客户端表格。好吧,当我的程序编译为ANYCPU时,CLR将在 Windows x64 操作系统中将其作为 x64 位应用程序运行。这就是为什么,即使我在 x64 Win OS 中将我的扫描表单编译为 x86 平台目标,我也无法运行该应用程序。
到这里,我希望你们都明白我的意思!!!
作为解决方案,我尝试安装Twack64安装文件以获取TWAINDSM.dll文件并在 x86 和 x64 操作系统机器上运行我的应用程序。此外,在我的自定义 twain 源项目中,我更改为 dll 导入属性TWAINDSM.dll而不是Twain_32.dll,但它没有成功。
所以我在这里遗漏了什么或者 Twain C# 应用程序无法将TWAINDSM.dll识别为 twain dll?我卡在这一步,不能再往前走了!!!拉我的头发3-4天!!!:(
快速的手将对我有很大的帮助!期待您的回音!!!