我正在使用此示例进行扫描 twain .NET TWAIN 图像扫描仪
但是当我尝试在 64 位系统上运行我的项目时,它给了我这个错误:
试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)
根据我进行的多次搜索,我找到了 twaindsm.dll。我试图导入它,但系统卡住了。
我尝试用 32 位构建项目,但也没有成功。
有什么帮助吗?
我正在使用此示例进行扫描 twain .NET TWAIN 图像扫描仪
但是当我尝试在 64 位系统上运行我的项目时,它给了我这个错误:
试图加载格式不正确的程序。(来自 HRESULT 的异常:0x8007000B)
根据我进行的多次搜索,我找到了 twaindsm.dll。我试图导入它,但系统卡住了。
我尝试用 32 位构建项目,但也没有成功。
有什么帮助吗?
Twain DLL 适用于 32 位系统,基本上无法在 64 位上运行。
您可以找到 TWAINDSM DLL 的 64 位版本。在安装您的应用程序时,请确保此 DLL 与您的 exe 位于同一文件夹中,并确保您加载了此管理器。
在 64 位系统中,默认的 twain32 dll 位于 C:\Windows 下。因此,当 TWAIN 应用程序加载此模块时,它会加载 64 位版本。避免 DLL 解析与 TWAIN 冲突的最佳方法是移植您的 DSM 作为其中的一部分。这样它就可以在任何地方工作。
Twain DLL 适用于 32 位系统,基本上无法在 64 位上运行。
同意,这是问题的原因。
这是解决方案:从 64 位应用程序访问扫描仪
Asprise Scanning C# VB.NET TWAIN WIA Scan SDK 可能是唯一适用于 64 位和 32 位应用程序的扫描库,这要归功于创新的正在申请专利的技术和质量实施。
您可以直接从 NuGet 获取该库:
将平台目标从项目属性更改为 x86。