如有雷同,不胜荣欣,若转载,请注明

最近在项目上一直使用.net4.0 framework,突然发现一个AForge.net中使用ffmepeg下的一个dll时,提示只能在2.0下运行,在众多MSDN和资料的帮助下终于又提高 了一点,今特地记录一下,一边日后遗忘,解决方法如下:

就是在app.config中添加一个配置节:

startup

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">

<supportedRuntime version="v2.0.50727"/>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

黑粗体部分是需要加上的部分,默认黑粗体是没有的。

原来在.NET2.0 framework,.NET3.5 framework的时候,由于程序运行环境本质还是.NET2.0,而到了.NET4.0由于整个程序集的版本更新,以前使用.NET2.0所编写的程序集与.NET4.0的程序集互操作的时候就会出现上面所说的兼容性问题。

通过MSDN,我们可以知道,startup配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的,默认是false,表示:使用默认的 .NET Framework 4 激活策略,该激活策略将加载 .NET Framework 4.0,通过使用公共语言运行时 (CLR) 版本 4.0 所创建的程序集,以及 CLR 早期版本通过使用受支持的低于版本 4.0 的最高 CLR 版本所创建的程序集。

现在如果当程序在.NET4.0环境下要使用.NET2.0或.NET3.5及以下的程序集时就必须将useLegacyV2RuntimeActivationPolicy设置为true,同时还要注意,需要在startup配置节的字节中添加supportedRuntime配置节,并指定为"v4.0",表示使用.NET4.0运行时来运行程序。

最新文章

  1. 2014 ACM/ICPC 北京邀请赛 部分 题解
  2. 联想扬天 电脑 键盘改默认fn功能键
  3. RDLC报表系列--------行分组报表
  4. 基于动态库的C++插件开发模型
  5. 通过 iTextSharp 实现PDF 审核盖章
  6. sql解释执行顺序
  7. [C++程序设计]用指针变量作函数参数接收数组地址
  8. loading加载中效果
  9. Vsftp配置都没有问题 连接不上 530 Login incorrect 解决方法
  10. 【POJ2387】Til the Cows Come Home (最短路)
  11. visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决
  12. Apache shiro集群实现 (一) shiro入门介绍
  13. ecstore中怎样使用ajax提交数据
  14. [Swift]LeetCode899. 有序队列 | Orderly Queue
  15. scala读取解析json文件
  16. [Database]Oracle数据库中concat和||的区别
  17. 原来bug解决了,是这样的感觉
  18. Java-System.getProperty()
  19. PostgreSQL&amp;PostGIS完全安装
  20. windows下如何下载并安装Python

热门文章

  1. 组件接口(API)设计指南[2]-类接口(class interface)
  2. Ubuntu 16.04 LTS 配置 Jupyter notebook 为服务器
  3. openwrt procd
  4. HDU 6040 Hints of sd0061 nth_element函数
  5. 链式mapreduce
  6. HDFS vs. MongoDB
  7. luogu3379 【模板】最近公共祖先(LCA) 倍增法
  8. 分析PHP的include机制
  9. String常量池
  10. bzoj4406: [Wc2016]论战捆竹竿&amp;&amp;uoj#172. 【WC2016】论战捆竹竿