zoukankan      html  css  js  c++  java
  • 在4.0框架下使用Sqlite数据库

      在4.0框架下使用Sqlite数据库出现“混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。”的错误:

        

      这是由于 System.Data.Sqlite 这个数据访问provider是针对 .NET2.0 环境开发的,而 .NET Framework 4 不能自动使用自己的公共语言运行时版本来运行由.NET Framework早期版本生成的应用程序。 若要使用 .NET Framework 4 运行较早的应用程序,则必须使用 Visual Studio 中项目的属性指定的目标 .NET Framework 版本编译应用程序, 或使用应用程序配置文件中的 <supportedRuntime> 元素可指定所支持的运行时。

      解决方案是添加app.config,并添加一个配置节startup。 

          <startup useLegacyV2RuntimeActivationPolicy="true">
            <supportedRuntime version ="4.0"/>
          </startup> 

     

      这段配置节的意思是:启用 .NET Framework 2.0 版 运行时激活策略,这是通过使用最新支持的运行时加载所有程序集。

      startup:指定公共语言运行时启动信息。

      useLegacyV2RuntimeActivationPolicy:可选特性。指定是否启用 .NET Framework 2.0 运行时激活策略,或者是否使用 .NET Framework 4 激活策略。将该属性设置为 true 可以防止把 CLR 版本 1.1 或 CLR 版本 2.0 加载到同一进程,有效地禁用进程中的并行功能。 

    true

    为所选运行时启用 .NET Framework 2.0 运行时激活策略,该策略要将运行时激活技术(如 CorBindToRuntimeEx 功能)绑定到从配置文件选择的运行时,而不是将它们盖在 CLR 版本 2.0 上。 因此,如果从配置文件选择 CLR 版本 4 或更高版本,则使用 .NET Framework 的早期版本创建的混合模式程序集将与所选 CLR 版本一同加载。 设置此值可防止 CLR 版本 1.1 或 2.0 加载到同一进程,有效地禁用进程中的并行功能。

    false

    使用 .NET Framework 4 及更高版本的默认激活策略,即允许旧式运行时激活技术将 CLR 版本 1.1 或 2.0 加载到进程。 设置此值可防止混合模式程序集加载到 .NET Framework 4 或更高版本,除非他们内置有 .NET Framework 4 或更高版本。此值为默认值。

        requiredRuntime:指定应用程序仅支持公共语言运行时 1.0 版。 用运行时 1.1 版本或更高版本生成的应用程序应使用 <supportedRuntime> 元素。

      supportedRuntime:指定此应用程序支持的公共语言运行时版本。

  • 相关阅读:
    UILabel标签文字过长时的显示方式
    iOS8新特性之交互式通知
    iOS 音频学习
    UISegmentedControl小常识和图片拉伸
    iOS 锁屏判断
    UIwindow的学习
    Mac显示和隐藏系统的隐藏文件
    获取iOS系统版本和设备的电量
    React Native 学习-01
    如何用fir.im 命令行工具 打包上传
  • 原文地址:https://www.cnblogs.com/hibernation/p/3340879.html
Copyright © 2011-2022 走看看