You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同一C#应用中是否可同时编译调用x86和x64两类第三方DLL?

不同架构第三方硬件驱动DLL在C#项目中共存问题
  • 正在开发适配FTDI设备的程序,对应DLL需要将目标平台设置为x64才能正常运行,否则会抛出BadImageFormat异常。
  • 同一程序还需要和Feasa设备通信,该设备的DLL仅在目标平台设为x86时可避免抛出同类型异常。
  • 已经为两类设备都编写了DllImport/封送处理逻辑,目前单独选中对应x64/x86平台设置时单类设备功能运行正常,但调用另一类设备的函数时,对应DLL就会抛出BadImageFormat异常。
  • 暂未获悉两家厂商有更新适配多架构的DLL,二者仅提供C库(FTDI有一个C#封装包,但缺失所需的核心功能),都需要进行封送处理。拥有较多C开发经验,但所在公司主要技术栈为C#,哪怕改用C开发应用也只是暂缓问题,且不确定C是否能解决该架构不兼容问题。

是否有方案可以让两类不同架构的DLL在同一个应用中同时正常运行?目前发现第三方DLL仅支持特定架构,担心之前投入的大量开发工作会白费。

问题后续解决说明

后续发现Feasa实际提供x86和x64两个版本的DLL,替换对应版本的DLL后问题已解决。


内容的提问来源于stack exchange,提问作者Plaje

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:36:01