解决这个问题的诀窍是:
>将对正确版本的MySql.Data和MySql.Data.Entity库的引用(在我的例子中为.NET 4.5 6.7.4.0)添加到项目中.
>编辑machine.config,编辑器以管理员身份运行,并将所有出现的MySQL版本6.6.5.0替换为6.7.4.0.
对于第二步,请注意有多个machine.config文件,每个框架版本(3.0,3.5,4.0)和架构(32位,64位).另请注意,.NET 4.5的machine.config文件位于.NET 4.0文件夹中.您可以在以下位置找到machine.config文件:
C:\Windows\Microsoft.NET\Framework\\Config
和:
C:\Windows\Microsoft.NET\Framework64\\Config
如果machine.config文件中没有对MySQL的引用,则可能未安装MySQL for Visual Studio.要么这样做,要么将以下内容添加到项目的app.config文件中:
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" />
但请注意,当您为Visual Studio安装MySQL并将上述代码段添加到app.config文件时,您将收到以下异常:
ConfigurationErrorsException: Column ‘InvariantName’ is constrained to be unique. Value ‘MySql.Data.MySqlClient’ is already present.