代码之家  ›  专栏  ›  技术社区  ›  Greg

实体框架问题-“没有其他配置信息,无法在4.0运行时加载混合模式程序集”

  •  0
  • Greg  · 技术社区  · 14 年前

    我有一个UI&Library项目来解决我遇到的问题。库项目使用实体框架,单元测试可以使用它。该项目是一个C#4.0 WPF应用程序。

    为了让基本的EF代码行正常工作,我从库项目中复制了连接字符串应用程序配置到UI项目应用程序配置.

    当我用几行简单的EF测试运行这个项目时(见下文),我得到下面的错误。请注意,这两个项目都已设置为使用.NET Framework 4。我确实使用其他库,例如石英.Net,但是,在我包括下面这一行之前,一切都很好。

    关于如何纠正这个问题有什么建议吗?

        // Test ONly
        using (var dbContext = new Model1Container())
        {
            Debug.WriteLine("Total Usages = " + dbContext.Usages.Count());
        }
    

    “混合模式程序集是根据运行时版本‘v2.0.50727’生成的,如果没有其他配置信息,则无法在4.0运行时中加载。”

    我复制到UI项目中的连接字符串应用程序配置

      <connectionStrings>
        <add name="Model1Container" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SQLite;provider connection string='data source=&quot;C:\Documents and Settings\Owner\My Documents\My Dropbox\source\MyInternetUsage\MyInternetUsageLibrary\MyInternetUsage.sqlite&quot;'" providerName="System.Data.EntityClient" />
      </connectionStrings>
    
    1 回复  |  直到 14 年前
        1
  •  3
  •   Henrik P. Hessel    14 年前

    将以下指令添加到应用程序配置

    <startup useLegacyV2RuntimeActivationPolicy="true">
      <supportedRuntime version="v4.0"/>
    </startup>
    

    这将解决您的混合模式问题。