entity framework6.1.1和Npgsql 2.2.3:找不到兼容的entity framework数据库提供程序
我正在使用Visual Studio 2012 Update 4中的EntityFramework 6.1.1和npgsql 2.2.3开发项目。为此,我使用提供的安装程序安装了npgsl并安装了nuget软件包“Npgsql”和“Npgsql for Entity Framework”(和“EntityFramework”本身,当然)。
过去一切都很好:我可以成功访问我的数据库一段时间 – 直到有一天所有东西都“爆炸”。
这是事件历史:
- 在主要代码升级后修复编译器错误我遇到了以下错误消息:
- “无法加载npgsl.EntityFrameworkLegacy assmbly”(我既没有安装也没有引用这个程序集)
- 一大堆“元数据文件’xxx’找不到”错误,其中’xxx’指向我自己的项目程序集
- 我找到了可能的解决方案“元数据文件”问题 – 比如删除.suo文件,检查项目构建顺序等等。 他们都没有解决问题。 所以我从我的项目中删除了.edmx文件(以及所有自动生成的数据库访问文件)。 这修复了“元数据文件”的问题 – 当然引入了“未解析的符号”。
- 我试图在我的项目中添加一个新的“ADO.NET实体数据模型”以重新获得数据库访问权限。 只有连接列表中没有列出的所有PostgreSQL数据库连接。 此外,我无法创建新的PostgreSQL连接,因为未列出此数据源。 虽然这不影响Visual Studio中的全局“数据连接”对话框:在这里我仍然可以访问我的PostgreSQL连接。
- 我使用安装程序重新安装了npgsql。 现在我可以创建一个新的“ADO.NET实体数据模型”并连接到我的PostgreSQL数据库。 但是这次我收到错误消息:“ 您的项目引用了最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序 ”[…]。 这就是我现在被困住的地方。
我目前的设置是:
- 该项目涉及以下程序集:
- .NET 4.5的EntityFramework 6.1.1
- EntityFramework.SqlServer 6.1.1 for .NET 4.5
- 适用于.NET 4.5的Npgsql 2.2.3
- 适用于.NET 4.5的Npgsql.EntityFramework 2.2.3
- 这是我的app.config:
- 我在我的machine.config(32位和64位)中都有这个:
在我添加新模型之前,我尝试重建我的解决方案。 但这没有帮助。
我可能错过了其他任何配置问题吗?
有谁能解释我为什么这一切都发生了?