VS2012加载DLL编译出现试图加载格式不正确的程序; 以及运行出现Mixed mode assembly is built against version 'v2.0.50727' of the
2015-08-22 17:10
781 查看
VS2012加载DLL编译出现试图加载格式不正确的程序;以及运行出现Mixed mode assembly is built against version 'v2.0.50727' of theruntime and cannot be loaded in the 4.0 runtime without additionalconfiguration information
转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47860991先说明一下编译环境和项目大概;
使用的是VS2012,C# ;调用一个DLL文件,二次封装后得到另一个DLL文件,给matlab调用;
新建VS2012 C# 的class library项目后,把要调用的DLL添加引用后编译无法通过,出现图1错误:
错误如下图:
第一个错误:
第一个问题解决后,编译可以通过,但是为了调试需要,把项目由class library 改成console application之后,可以编译,但是运行出错;如下图
第二个错误:
转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47860991
关于第一个错误:
其实这个错误在很久之前就已经遇到了,而且也知道是怎么回事,简单的就解决了;这次是同时遇到了第二个问题,所以就一起备忘一下。
其实出现这个问题的原因是:我调用的DLL文件是32位的,而我现在用的项目却是64位的。其实不管调用的DLL文件和项目哪个是32位、哪个是64位;只要不统一的话,一般都会出现这个问题。
解决也很简单,既然是不一致导致的,那就改成一致呗。
右键项目,把platform target 改成x86即可,因为我调用的DLL是32位的。如果是相反的,那就相应该回来即可。
顺便说一下:新建项目的时候,默认是any cpu;它会根据你的系统去默认设置位,比如我的电脑是64位,那么它就是64位。
好了,第一个问题就这么解决了。
那么说说第二个问题:
该错误的简单翻译是:混合模式引用是建立针对版本“v2.0.50727”的运行时,不能加载在4.0运行时,没有额外的配置信息。
既然是运行时的配置信息问题,我当时第一个想到的就是需要更改VS项目的配置文件信息,但是一开始我也不知道怎么改。
下面是我这个项目里面的配置文件信息;好既然不知道,那我就只有一个一个去查:
<?xmlversion="1.0"?> <configuration> <startup> <supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/> </startup> </configuration> |
微软的官方解析连接:https://msdn.microsoft.com/zh-cn/library/bbx34a2h(v=vs.100).aspx里面说的很详细:
转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47860991
这次就知道怎么修复了!只要在配置信息里把这个属性改为true就可以了!
<?xmlversion="1.0"?> <configuration> <startupuseLegacyV2RuntimeActivationPolicy="true"> <supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.0"/> </startup> </configuration> |
转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47860991
相关文章推荐
- 动态限制UITextField或UITextView用户输入中英文混编字数统计
- uint16,uint32是什么?
- uint16,uint32是什么?
- GDI+ 使用指南(basic guiding of GDI plus )
- 如何在UEFI+GPT下使用rEFind实现Win10 + Kali2.0 双引导!
- hdu5400 Arithmetic Sequence
- UIButton及UITextfield
- UI-封装
- UIViewController
- UI-UIImageView
- HTML初体验之1——关于HBuilder文件放置
- UI -视图控制器UIViewController
- UIView及其子类
- iOS 笔记三: UITextView和视图控制器生命周期(View Controller LifeCycle)
- The one who can give anything you want is only yourself. The rating is the only you should pursue.
- UI - 组合控件LTView(UILabel + UITextField)
- UITextField功能方法详解
- IOS UI NavigationController结构
- UI视图控制器
- UI自定义视图