在不正确设置项目的情况下,总是会看到这样的错误:
无法加载文件或程序集'Npgsql,Version = 3.1.2.0,区域性=中性,PublicKeyToken =5d8b90d52f46fda 7‘或其依赖项之一。位于的程序集清单定义与程序集引用不匹配。(HRESULT例外: 0x80131040)
使用AsmSpy后,我注意到问题出现在"EntityFramework6.Npgsql“中,它不识别新版本的Npgsql,如下图所示:

我自己的DLL识别最新版本,除了"EntityFramework6.Npgsql“
发布于 2016-07-14 23:15:01
出于某种原因,EF6.Npgsql 3.1.1是针对Npgsql 3.1.2编译的,尽管nuget依赖于3.1.0。I opened an issue for this。
但是,在更一般的情况下,您需要一个绑定重定向来允许EF6.Npgsql在更新版本的Npgsql上运行(例如3.1.6),否则它需要编译它的确切版本。通常VS应该自动将所需的重定向添加到您的App.config中,请参阅https://msdn.microsoft.com/en-us/library/7wd6ex19(v=vs.110).aspx。我在一个原始项目中进行了测试,这是可行的:安装EF6.Npgsql 3.1.1,然后再安装Npgsql 3.1.6,将正确的绑定重定向显示在App.config中,重定向到Npgsql 3.1.6 --一切正常。
https://stackoverflow.com/questions/38378741
复制相似问题