VS错误解决集合

  一、混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其余信息的状况下,没法在 4.0 运行时中加载该程序集sql

      其调用的方法是从sqlite数据库中获取原来已经使用过的数据库链接,当时也没注意,就是准备设断点而后单步调试,结果居然是断点没法进入方法体内,后来仔细看了一下方法体的时候发现了一个问题,就是现有的      System.Data.Sqlite这个数据访问provider是针对.NET2.0环境开发(最新的版本是1.0.66.0,2010年4月18日发布的),而目前官方也没有给出最新的.NET4的数据访问支持。数据库

  解决方法:app

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

    <startup useLegacyV2RuntimeActivationPolicy="true">调试

      <supportedRuntime version="v4.0"/>code

    </startup>sqlite

    这段配置节的意思是(参考自MSDN,具体地址:http://msdn.microsoft.com/zh-cn/library/bbx34a2h.aspx):xml

    在原来.NET2.0,.NET3.5的时候,因为程序运行环境本质仍是.NET2.0,而到了.NET4.0因为整个程序集的版本更新,之前使用.NET2.0所编写的程序集与.NET4.0的程序集继续拧互操做的时候就会出现上面所说的兼容性问题。 经过MSDN,咱们能够知道,startup配置节中的useLegacyV2RuntimeActivationPolicy属性是在.NET4.0中新增的,默认是false,表示:开发

使用默认的 .NET Framework 4 激活策略,该激活策略将加载 .NET Framework 4 经过使用公共语言运行时 (CLR) 版本 4 所建立的程序集,以及 CLR 早期版本经过使用受支持的低于版本 4 的最高 CLR 版本所建立的程序集。 string

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

相关文章
相关标签/搜索