1

我使用 Entity FrameWork 5.0 和 MySql 连接器 6.7.4 。我有一个简单的 MVC Razor 4 应用程序。当我开始我的应用程序时,会出现这样的错误:

无法加载文件或程序集 'MySql.Data, Version=6.6.5.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' 或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)

我尝试从 NuGet 卸载并加载我的 MySqlData dll,但它没有用。我应该怎么办?

4

1 回答 1

2

由于您使用EF5的是推论,因此您必须使用框架版本4.5。然后,这要求您使用6.7.4.0您所说的 MySql 连接器库的版本,但您的错误意味着您使用6.6.5.0的是 .Net 4.0 的版本。

您需要删除您拥有的当前版本并从 NuGet 下载正确的版本。或者,您可以直接从MySql Dev 站点下载

另外,请确保您在应用程序中引用MySql.Data,MySql.Data.Entity并且MySql.Web它们都是 version 6.7.4.0

<system.data>您可能还需要更新web.config. 尝试这个:

<system.data>
    <DbProviderFactories>
        <clear/>
        <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
    </DbProviderFactories>
</system.data>
于 2013-11-02T09:10:17.520 回答