首页新闻找找看学习计划

怎么在64位程序中引用32位.NET编译的DLL

0
悬赏园豆:30 [已解决问题] 解决于 2015-12-22 16:51

是这样的,我目前的一个程序必须使用64位的,但是,现在要使用一个32位的.NET编译的DLL(没有源码),直接引用后,运行会出现 “尝试加载不正确的程序”

 

将项目设置为x86,可以,但是目前我这个项目必须是64位的,所以这样不行

现在我想怎么在没有源码的情况下把这个32位的DLL转换成64位的,这样可不可行

 

或者还有其他什么办法

灯塔下的守望者的主页 灯塔下的守望者 | 初学一级 | 园豆:118
提问于:2015-12-22 16:15
< >
分享
最佳答案
0

不行

收获园豆:30
Launcher | 高人七级 |园豆:45040 | 2015-12-22 16:25

那现在有办法解决这个问题么

灯塔下的守望者 | 园豆:118 (初学一级) | 2015-12-22 16:27

@忆梦Coder: 可能有。当然你的说清楚你的 32 位的托管代码 DLL 是否引用了非托管 DLL ? 它怎么跟你的程序交互,等等必要的信息。

Launcher | 园豆:45040 (高人七级) | 2015-12-22 16:30

@Launcher: 引用了非托管代码的。 这个32 位的托管代码 DLL是一个期货接口,引用了两个非托管的DLL 。  

实在不行只能先用x86生成一个程序,保存数据到文件 然后用文件交互了  不知道这样可否

灯塔下的守望者 | 园豆:118 (初学一级) | 2015-12-22 16:44

@忆梦Coder: 托管代码容易编译成 x86,非托管代码的不行,除非有源码。你说的方法可行,如果觉得效率上不够,可以考虑使用SOCKET通信,或者 Named Piple。

Launcher | 园豆:45040 (高人七级) | 2015-12-22 16:49

@Launcher: 非常感谢!

灯塔下的守望者 | 园豆:118 (初学一级) | 2015-12-22 16:51
其他回答(1)
1

在iis应用程序池中 右击高级程序设置 中 将 启用32位应用程序 属性 改为 true  就可以了!

独孤败天1 | 园豆:202 (菜鸟二级) | 2015-12-22 16:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册