名称不变的ADO.NET提供程序System.Data.SqlServerCe.4.0'无法加载

时间:2014-06-27 16:12:43

标签: .net entity-framework visual-studio-2013 breeze sql-server-ce-4

  

实体框架提供程序类型' System.Data.Entity.SqlServerCompact.SqlCeProviderServices,EntityFramework.SqlServerCompact'在ADO.NET提供程序的应用程序配置文件中注册了具有不变名称的System.Data.SqlServerCe.4.0'无法加载。确保使用了程序集限定名称,并且程序集可用于正在运行的应用程序。

以上是我尝试使用Breeze / Entity Framework创建元数据时收到的错误消息。 Nuget似乎搞砸了一些事情,但是它并不明显是什么,并且它在尝试从哪里读取组件并不明显。任何想法都会受到欢迎。

2 个答案:

答案 0 :(得分:13)

我遇到了同样的问题。您已经安装了Sql Compact,但是您缺少Sql Compact的EntityFramework扩展。您需要通过包管理器控制台或nuget包管理器安装它。控制台脚本是:

Install-Package EntityFramework.SqlServerCompact 

答案 1 :(得分:0)

当我尝试对EF代码优先项目在程序包管理器控制台中运行update-database命令时,收到此错误消息。在搜索此特定错误消息时,我一直重新回到该问题,但是在我的场景中安装EntityFramework.SqlServerCompact nuget不能解决该问题。

对我来说,解决方案是确保默认启动项目未设置为多个启动项目(在我的情况下,它需要是Web项目),并且程序包管理器中的默认项目设置为您的EF项目。正在尝试从中运行迁移。

我正在发布此解决方案,以帮助遇到与我在此处找不到解决方案的问题相同的任何人,这是出现的第一个问题。

如果我忘记并犯了同样的错误,我可能会在几个月后回到这个问题上!

相关问题