C# 是通过Entity Framework访问数据库的,会不会是Entity Framework不支持6.3.0以下的MySQL Connector Net驱动...另外我用VS做开发时引入的是MySQL.Data.dll 的6.4.4版本的(发布时该dll没有复制到项目Bin目录下)而发布到客户机上,客户机上安装的是MySQL.Data.dll 的6.3.6版本的,这样就会出问题,看了下日志有以下错误:未能加载程序集“Mysql.data,Version=6.4.4.0,culture=neutral,PublicKeyToken=XXXXXXXXX” 或他的一个依赖项

解决方案 »

  1.   

    MySQL.Data.dll是要复制到程序根目录的,客户安装了,如果没有放到全局缓存中你的程序也是找不到MySQL.Data.dll
      

  2.   

    引用的时候指定了特定版本,你可以在 Visual Studio 界面“解决方案资源管理器”里“引用”节点下,找到 MySql 的引用,右键点击选择属性,把“特定版本”设置为 False
      

  3.   

    不过这样也得客户机的驱动 dll 放在能找到的目录下,比如程序根目录,System32下,或环境变量配置的
      

  4.   


    “如果没有放到全局缓存中”是什么意思,是不是要把Mysql connector net 安装目录放到环境变量Path里意思?
      

  5.   


    avphoenixi我把Mysql.data.dll引入到项目时,特定版本 属性就已经是 false 了另外我也把mysql的安装目录放到Path变量里,可还是不行,同样的错误。