System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”
程序员文章站
2022-03-20 09:37:35
解决方案: 在app.config新增如下配置节: 1 2 3 4
view code
解决方案:
在app.config新增如下配置节:
1 <?xml version="1.0"?> 2 <configuration> 3 <startup uselegacyv2runtimeactivationpolicy="true"> 4 <supportedruntime version="v4.0" sku = ".netframework,version=v4.0"/> 5 </startup> 6 </configuration>
在原来.net2.0,.net3.5的时候,由于程序运行环境本质还是.net2.0,而到了.net4.0由于整个程序集的版本更新,以前使用.net2.0所编写的程序集与.net4.0的程序集继续相互操作的时候就会出现上面所说的兼容性问题。
startup配置节中的uselegacyv2runtimeactivationpolicy属性是在.net4.0中新增的,默认是false,表示:
使用默认的 .net framework 4 激活策略,该激活策略将加载 .net framework 4 通过使用公共语言运行时 (clr) 版本 4 所创建的程序集,以及 clr 早期版本通过使用受支持的低于版本 4 的最高 clr 版本所创建的程序集。
现在如果当程序在.net4.0环境下要使用.net2.0及.net3.5的程序时就必须将uselegacyv2runtimeactivationpolicy设置为true,同时还要注意,需要在startup配置节的字节中添加supportedruntime配置节,并指定为“v4.0”,表示使用.net4.0运行时来运行程序。
---------------------
原文:https://blog.csdn.net/bibi1314123/article/details/17428599