Asp.Net 5"指定的模式无效.错误:错误0152:找不到ADO.NET的实体框架提供程序

mz1*_*378 3 .net asp.net entity-framework angularjs

我在解决方案中有2个项目,一个是asp.net 5,另一个是包含EFModel的类库项目.我使用install-package安装:"EntityFramework":两个项目中的"6.1.3","EntityFramework.SqlServerCompact":"6.1.3",并在classlibrary\app.config和wwwroot\web.config中都有连接字符串我在互联网上搜索了一些说:

<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServerCe.4.0" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />
    </providers>
  </entityFramework>?
Run Code Online (Sandbox Code Playgroud)

在web.config中解决了这个问题,我在app.config中有这个部分,当我尝试将它放在web.config文件中时,我得到angularjs注入错误.我的实体框架代码给我错误:"指定的模式无效.错误:错误0152:找不到具有不变名称'System.Data.SqlClient'的ADO.NET提供程序的实体框架提供程序.确保...我我无法解决这个问题,请帮忙.

mz1*_*378 9

我解决了我的问题:虽然我为解决方案中的每个项目使用Nuget 添加了EntityFrameworkEntityFramework.SqlServerCompact,我的project.json说: "EntityFramework":"6.1.3","EntityFramework.SqlServerCompact":"6.1 .3",但是我注意到Visual Studio在引用ClassLibrary项目中的所有包时做了一件令人讨厌的工作,所以我将所有程序集从classlibrary项目的bin复制到MainProject bin并通过浏览添加对所有这些程序集的引用,最后复制从ClassLibrary的app.config到MainProject的web.config和Problem Solved所需的自动生成配置.