调用32位dll的方法问题和解决方法
2012-11-04 17:43
295 查看
今天遇到了一个问题,在调用一个dll时,出现异常,
试图加载格式不正确的程序。 (Exception from HRESULT: 0x8007000B)
在网上搜了一下,是64位环境调用32位dll出现的问题。我的确是在调用一个不太清楚的dll,那个dll可能是32位的。
解决方法:
在项目属性中,Build标签中,将Platform target的选项从Any CPU改为x86,重新编译后,就可以正确执行了。当然,这个也损失了一些平台兼容性。
我的环境是Windows 7 64bit 中文旗舰版,Vs 2010 Preminum sp1(10.0.40219.1 SP1Rel),.net framework 4.0.30319 SP1Rel。
我的项目类型Windows Form,没有在web中遇到,Web项目可能需要在IIS管理器中设置(待验证):
IIS->应用程序池->高级设置->常规->启用32位应用程序,改为True。
试图加载格式不正确的程序。 (Exception from HRESULT: 0x8007000B)
在网上搜了一下,是64位环境调用32位dll出现的问题。我的确是在调用一个不太清楚的dll,那个dll可能是32位的。
解决方法:
在项目属性中,Build标签中,将Platform target的选项从Any CPU改为x86,重新编译后,就可以正确执行了。当然,这个也损失了一些平台兼容性。
我的环境是Windows 7 64bit 中文旗舰版,Vs 2010 Preminum sp1(10.0.40219.1 SP1Rel),.net framework 4.0.30319 SP1Rel。
我的项目类型Windows Form,没有在web中遇到,Web项目可能需要在IIS管理器中设置(待验证):
IIS->应用程序池->高级设置->常规->启用32位应用程序,改为True。
相关文章推荐
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- 64位进程调用32位dll的解决方法
- DllRegisterServer的调用失败的问题解决方法
- 64位进程调用32位dll的解决方法
- 64位进程调用32位dll的解决方法
- C# 调用 C++ DLL无法调试的问题解决方法
- VC6.0编译DLL,使用VS2010调用问题及解决方法
- java用jni调用dll动态库出现Can't find dependent libraries问题的解决方法
- 64位进程调用32位dll的解决方法
- DllRegisterServer的调用失败的问题解决方法
- 64位进程调用32位dll的解决方法
- 64位进程调用32位dll的解决方法
- 续:Java Tomcat 中调用.net DLL的方法 - 实际部署中遇到的一些问题解决
- VC6.0编译DLL,使用VS2010调用问题及解决方法
- 64位进程调用32位dll的解决方法
- VS开发环境下生成和调用dll出现的问题和解决方法-1
- 64位进程调用32位dll的解决方法