2

我正在将 MySQL 与 Devart 的 dotConnector 一起使用。我正在尝试将代码优先与库提供的迁移一起使用。它可以很好地创建迁移,但是当我尝试在包管理器中调用 Update-Database 时出现此错误

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileLoadException: Could not load file or assembly 'EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

通过我的参考列表挖掘,我使用的是 EntityFramework 5.0.0.0 并且目标是 v4.5 框架。为什么这会要求 EF 的 v4.4?

我设置了两个连接字符串,一个使用常规的 MySQL 提供程序,另一个使用 dotConnector 的 MySQL 提供程序,我的上下文使用哪一个没有区别。我尝试删除并重新添加 EF 引用。

我对此非常迷茫,我什至不知道要提供哪些其他信息来帮助获得建设性的答案。因此,如果我应该提供更多信息以帮助获得更好的答案,请告诉我。

我找到了有关dotConnect的更多信息,看起来迁移部分的目标是 4.4。这是否意味着我需要使用 EF 4.4?或者我可以以某种方式同时拥有两者,以便迁移满足它的需要,并且我可以在其他任何地方使用 EF 5.0?

4

1 回答 1

4

EF 4.4 是 EF 5.0 的 .NET 4.0 版本。看起来您的项目中的某些内容以 .NET 4.0 为目标(或者是为 .NET 4.0 构建的)。

于 2012-09-10T08:15:26.333 回答