64位开发环境下编译32位dll文件
最近在做PH项目的时候,遇到了一个小问题。我们做的系统,算是在人家基础上的一个二次开发:我们用到他们设备,同时需要他们给我们提供接口。我们拿到接口,在32位系统上编译不会出问题,而在我这64位系统上编译总是提示错误:
调用 Dll "试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
我一开始的想法是在网上重新找一个的新DLL文件,也就是64位的系统下的DLL文件,然后再注册一下就得了。可喜的是里面有X86和X64两个文件夹。X86里面有一个DLL文件,而X64却是空的。弄得我非常无语,然后我在网上继续找了DLL文件,一个一个的注册,弄了半天也没成功。
问题已经很显然了,就是我的64位开发环境编译32位dll的问题。今天我换了个想法:怎样让它编译成功。问题很容易就解决了。
打开VS,选中你项目的解决方法,右击选择属性(或者Alt+Enter),然后打开生成选项卡,将目标平台改为X86,这样编译出来的就是32位的dll了。同时,如果你的程序中含有关于指针的代码,一般会报错导致你无法编译,这是你需要在本选项卡中勾选“允许不安全代码选项”。
解决问题之后才知道这个问题这么简单,同时也感觉到尽管VS已经用了好长时间,但是VS平台自己还不能说会用。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?