欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-28 20:53:22
解决方案: 在app.config新增如下配置节: 1 2 3 4

解决方案:

  在app.config新增如下配置节:

System.IO.FileLoadException:“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”
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>
view code

   在原来.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