AForge.NET .NET2.0程序集无法在.net 4.0 中运行的解决方案
如有雷同,不胜荣欣,若转载,请注明
最近在项目上一直使用.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运行时来运行程序。
最新文章
- 2014 ACM/ICPC 北京邀请赛 部分 题解
- 联想扬天 电脑 键盘改默认fn功能键
- RDLC报表系列--------行分组报表
- 基于动态库的C++插件开发模型
- 通过 iTextSharp 实现PDF 审核盖章
- sql解释执行顺序
- [C++程序设计]用指针变量作函数参数接收数组地址
- loading加载中效果
- Vsftp配置都没有问题 连接不上 530 Login incorrect 解决方法
- 【POJ2387】Til the Cows Come Home (最短路)
- visualVM使用jstatd和jmx连接远程jvm及遇到的问题解决
- Apache shiro集群实现 (一) shiro入门介绍
- ecstore中怎样使用ajax提交数据
- [Swift]LeetCode899. 有序队列 | Orderly Queue
- scala读取解析json文件
- [Database]Oracle数据库中concat和||的区别
- 原来bug解决了,是这样的感觉
- Java-System.getProperty()
- PostgreSQL&;PostGIS完全安装
- windows下如何下载并安装Python
热门文章
- 组件接口(API)设计指南[2]-类接口(class interface)
- Ubuntu 16.04 LTS 配置 Jupyter notebook 为服务器
- openwrt procd
- HDU 6040 Hints of sd0061 nth_element函数
- 链式mapreduce
- HDFS vs. MongoDB
- luogu3379 【模板】最近公共祖先(LCA) 倍增法
- 分析PHP的include机制
- String常量池
- bzoj4406: [Wc2016]论战捆竹竿&;&;uoj#172. 【WC2016】论战捆竹竿