C# 实体框架问题;混合模式程序集…如果没有其他配置信息,则无法在4.0运行时加载;

C# 实体框架问题;混合模式程序集…如果没有其他配置信息,则无法在4.0运行时加载;,c#,.net,wpf,entity-framework,entity-framework-4,C#,.net,Wpf,Entity Framework,Entity Framework 4,我有一个UI&Library项目来解决我遇到的问题。库项目使用实体框架&单元测试可以使用它。该项目是一个C#4.0 WPF应用程序 为了让基本EF代码行正常工作,我将连接字符串从库项目app.config复制到UI项目app.config 当我运行一个简单的EF测试两行(见下文)的项目,我得到下面的错误。请注意,这两个项目都已设置为使用.NET Framework 4。我确实使用了其他库,比如Quartz.Net,但是在我包含以下行之前,一切都很好 关于如何纠正这个问题,有什么建议吗 /

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

为了让基本EF代码行正常工作,我将连接字符串从库项目app.config复制到UI项目app.config

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

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

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

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

我复制到UI项目app.config中的连接字符串

  <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>

将以下指令添加到app.config

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


这将解决混合模式问题。

将以下指令添加到app.config

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

这应该可以解决您的混合模式问题。

谢谢您(最初确实将其放在了错误的app.config,doh中)-pit当需要这种混合模式兼容性时,框架无法自行工作谢谢您(最初确实将其放在了错误的app.config,doh中)-pit当需要这种混合模式兼容性时,框架无法自行工作