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错误:

错误例如以下图:

第一个错误:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

第一个问题解决后,编译能够通过,可是为了调试须要。把项目由class library 改成console application之后,能够编译。可是执行出错。例如以下图

第二个错误:

转载请注明出处:http://blog.csdn.net/aaa123524457/article/details/47860991

关于第一个错误:

事实上这个错误在非常久之前就已经遇到了。并且也知道是怎么回事,简单的就攻克了。这次是同一时候遇到了第二个问题,所以就一起备忘一下。

事实上出现这个问题的解决办法是:我调用的DLL文件是32位的,而我如今用的项目却是64位的。事实上无论调用的DLL文件和项目哪个是32位、哪个是64位。仅仅要不统一的话,一般都会出现这个问题。

解决也非常easy。既然是不一致导致的,那就改成一致呗。

右键项目,把platform target 改成x86就可以。由于我调用的DLL是32位的。假设是相反的,那就对应该回来就可以。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

顺便说一下:新建项目的时候,默认是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>

然后,还真的被我找到了!

是这个Startup须要改!

微软的官方解析连接: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


VS2012载入DLL编译出现试图载入格式不对的程序; 以及执行出现Mixed mode assembly is built against version &#39;v2.0.50727&#39; of the的更多相关文章

  1. 编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。

    错误如下: “/”应用程序中的服务器错误. 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地修改源代码. 编译器错误消息: CS0016: 未能写入 ...

  2. CS0016: 未能写入输出文件“c:\windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\data\34aae060\b7daa87d\App_Web_addadvice.aspx.cdcab7d2.ekhlcbjd.dll”--“目录名无效。 ”

    产生原因: 应用程序运行时产生的临时文件需要存放到c:"windows"temp 文件夹下 而运行基于microsoft .net framework 框架下的应用程序 需要对te ...

  3. SQLite.dll混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

    其他信息: V5.7.4.4 Can't find the System.Data.SQLite.dll more info : 混合模式程序集是针对"v2.0.50727"版的运 ...

  4. 检测到 LoaderLock:DLL"XXXX"正试图在OS加载程序锁内执行

    解决方法: ctrl+D+E或alt+ctl+e或使用菜单调试——>异常——>异常窗口——>Managed Debugging Assistants——>去掉LoaderLoc ...

  5. 【转载】错误 CS0016: 未能写入输出文件“c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/.........dll”--“拒绝访问。 ”

    win7中安装asp.net的问题 编译器错误信息: CS0016: 未能写入输出文件问题解决办法 编译错误 说明: 在编译向该请求提供服务所需资源的过程中出现错误.请检查下列特定错误详细信息并适当地 ...

  6. CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\921bbfc4\ca7cf42\App_Code.fu98jwep.dll”--“拒绝访问。 ”

    在本地开发环境没问题,但是发布到服务器出现:未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Fil ...

  7. CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\f834824f\75776659\xxx.dll”--“拒绝访问。 ”

    解决方法: 1.找到C:\windows\Temp文件夹 右键属性-->安全选项卡,给IIS_IUSRS帐号赋予权限

  8. 动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

    动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行过程中根据需要决定应调用哪些函数. 方法是:用 LoadLibrary 函数加载动态链接库到内存,用 Ge ...

  9. 【转载】动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)

    原文地址:https://www.cnblogs.com/westsoft/p/5936092.html 动态载入 DLL 动态载入方式是指在编译之前并不知道将会调用哪些 DLL 函数, 完全是在运行 ...

随机推荐

  1. hadoop实验:求气象数据的最低温度

    1.下载部分数据.由于实验就仅仅下载2003年的部分气象数据 2.通过zcat *gz > sample.txt命令解压重定向 [hadoop@Master test_data]$ zcat * ...

  2. 【Cocos游戏实战】功夫小子第五课之帮助场景和选关功能的实现

    功夫小子之帮助场景和选关功能的实现 转载请注明出处:http://blog.csdn.net/suool/article/details/46661231 本节课的视频教程地址是: hmsr=teac ...

  3. Floodlight中 处理packetin消息的顺序(2)

         前面通过阅读代码知道了怎样推断各个模块处理某个消息的先后顺序.那么内部是怎样实现的呢?      每当一个模块表示对一个消息感兴趣的时候,就会调用IFloodlightProviderSer ...

  4. SQL Server performance for alter table alter column change data type

    最近在搞一个升级脚本,发现有一张业务表中的某些字段长度需要调整,直接使用alter table alter column进行修改发现修改一列要用十几分钟!!!两三个列那用时简直不能容忍啊!google ...

  5. javafx checkbox

    public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...

  6. Kinect 开发 —— Hello,Kinect

    控制台输出深度数据: using System; using System.Collections.Generic; using System.Linq; using System.Text; usi ...

  7. FZU 1962 新击鼓传花游戏

    新击鼓传花游戏 Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on FZU. Original ID: 19 ...

  8. BZOJ 1108 POI2007 天然气管道Gaz

    题目大意:给定平面上的n个黑点和n个白点.一个黑点仅仅能和右下方的白点匹配.代价为曼哈顿距离,求最小权值完备匹配 STO OTZ STO OTZ STO OTZ ans=Σ(y黑-y白+x白-x黑) ...

  9. [Angular] Create a custom validator for template driven forms in Angular

    User input validation is a core part of creating proper HTML forms. Form validators not only help yo ...

  10. Effective C++ 条款43

    学习处理模板化基类里的名称 本节作者编写的意图在我看来能够总结成一句话,就是"怎样定义并使用关于模板类的派生过程,怎样处理派生过程出现的编译不通过问题". 以下我们看一段说明性的代 ...