Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架6.1.1和Npgsql 2.2.3:找不到兼容的实体框架数据库提供程序_C#_Entity Framework_Postgresql_Visual Studio 2012_Npgsql - Fatal编程技术网

C# 实体框架6.1.1和Npgsql 2.2.3:找不到兼容的实体框架数据库提供程序

C# 实体框架6.1.1和Npgsql 2.2.3:找不到兼容的实体框架数据库提供程序,c#,entity-framework,postgresql,visual-studio-2012,npgsql,C#,Entity Framework,Postgresql,Visual Studio 2012,Npgsql,我正在Visual Studio 2012更新4中使用EntityFramework 6.1.1和npgsql 2.2.3进行一个项目。为此,我使用提供的安装程序安装了npgsl,并安装了nuget包“Npgsql”和“Npgsql for Entity Framework”(当然还有“EntityFramework”本身) 过去一切都很好:我可以成功地访问我的数据库一段时间,直到有一天一切都“爆炸” 这是事件历史记录: 修复主要代码升级后的编译器错误我遇到以下错误消息: “无法加载npgs

我正在Visual Studio 2012更新4中使用EntityFramework 6.1.1和npgsql 2.2.3进行一个项目。为此,我使用提供的安装程序安装了npgsl,并安装了nuget包“Npgsql”和“Npgsql for Entity Framework”(当然还有“EntityFramework”本身)

过去一切都很好:我可以成功地访问我的数据库一段时间,直到有一天一切都“爆炸”

这是事件历史记录:

  • 修复主要代码升级后的编译器错误我遇到以下错误消息:
    • “无法加载npgsl.EntityFrameworkEgacy assmbly”(我既没有安装也没有引用此程序集)
    • 在“xxx”引用了我自己的所有项目程序集的情况下,出现了一大堆“找不到元数据文件“xxx”错误
  • 我已经找到了解决“元数据文件”问题的可能方法,比如删除.suo文件、检查项目构建顺序等等。他们都没有解决这个问题。所以我删除了 项目中的.edmx文件(以及所有自动生成的数据库访问文件)。这修复了“元数据文件”问题——当然引入了“未解决的符号”
  • 我试图在我的项目中添加一个新的“ADO.NET实体数据模型”,以恢复对数据库的访问。仅限连接列表中不再列出的所有PostgreSQL数据库连接。 此外,我无法创建新的PostgreSQL连接,因为未列出此数据源。虽然这并不影响内部的全局“数据连接”对话框 VisualStudio:在这里,我仍然可以访问我的PostgreSQL连接
  • 我使用安装程序重新安装了npgsql。现在我可以创建一个新的“ADO.NET实体数据模型”并连接到我的PostgreSQL数据库。但这一次我收到了错误信息: “您的项目引用了最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序。”。这是 我现在被困在哪里了
我当前的设置是:

  • 该项目涉及以下组件:
    • 适用于.NET 4.5的EntityFramework 6.1.1
    • 适用于.NET 4.5的EntityFramework.SqlServer 6.1.1
    • 用于.NET 4.5的Npgsql 2.2.3
    • 适用于.NET 4.5的Npgsql.EntityFramework 2.2.3
  • 这是我的app.config:

  • 我的machine.config中有这个(32位和64位):

当然,在添加新模型之前,我尝试重建我的解决方案。但这没用

是否有我可能遗漏的其他配置问题


有谁能解释一下为什么会发生这些事?

看来你们的DBProviderFactorys有点错了。。。在示例中,您的web.config中也提到了EF 6.0.0.0,但您说您已经安装并正在使用EF 6.1.1?我只是按照我在这里找到的说明进行操作:这些首先对我有用。app.config和machine.cfg中的所有条目都是由npgsel安装程序或nuget软件包自动生成的。尽管如此,我还是尝试指定EF 6.1.1.0,但没有成功。我还没有尝试从machine.config中删除强程序集名称。但我怀疑这是否会改善这种情况,因为我的答案被删除了:重启后一切正常。因此,配置没有问题。