Visual Studio 2017 Professional中MySQL未显示在连接列表求助
解决VS 2017/2015无法识别MySQL数据库选项的问题
我之前也碰到过这个一模一样的糟心状况,折腾了好几种方法才搞定,给你整理几个针对性的方案,按顺序试试应该能解决:
先确认MySQL配套组件的安装匹配度
这是最容易踩坑的点:- 必须安装MySQL for Visual Studio,注意版本要兼容VS2017,比如1.2.10版本是明确支持VS2017的,别装最新的(比如2.x版本),那些只支持VS2019及以上。
- 同时要安装Connector/NET,版本要和MySQL for Visual Studio配套,比如MySQL for Visual Studio 1.2.10对应Connector/NET 8.0.x系列就行,别跨版本装。
- 安装的时候一定要勾选「Visual Studio Integration」相关的组件,别一路下一步漏掉了。
手动注册MySQL数据提供者到VS配置文件
如果安装后还是没显示,大概率是VS的配置文件没注册MySQL的提供者:- 找到VS2017的
devenv.exe.config文件,路径一般是C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\devenv.exe.config - 用记事本(管理员权限)打开,找到
<system.data>下的<DbProviderFactories>节点,添加这段配置(注意版本号要和你装的Connector/NET一致):<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.28.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> - 保存后彻底重启VS,再去新建模型看看。
- 找到VS2017的
检查并安装Entity Framework相关NuGet包
如果是用EF来创建模型,项目里必须有对应的MySQL EF包:- 打开NuGet包管理器(右键项目→管理NuGet包),搜索
MySql.Data.EntityFramework(EF6用这个)或者MySql.EntityFrameworkCore(EF Core用这个),安装和你Connector/NET版本一致的包。 - 也可以用NuGet控制台命令安装,比如:
Install-Package MySql.Data.EntityFramework -Version 8.0.28
- 打开NuGet包管理器(右键项目→管理NuGet包),搜索
修复VS安装组件
有时候VS本身的数据组件损坏也会导致识别异常:
打开Visual Studio Installer,选中VS2017专业版,点击「修改」,在「单个组件」里找到「数据存储和处理」分类,确保「Entity Framework 6工具」「SQL Server数据工具」这些组件都勾选了,然后点击「修改」重新安装缺失的组件。手动注册MySQL程序集到GAC
如果以上都不行,可能是MySQL的程序集没注册到全局程序集缓存:- 以管理员身份打开命令提示符,输入
gacutil -l MySql.Data,查看是否有对应版本的程序集。 - 如果没有,找到Connector/NET的安装目录(比如
C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.28\Assemblies\v4.5.2),执行注册命令:
路径根据你的实际安装版本调整。gacutil -i "C:\Program Files (x86)\MySQL\MySQL Connector Net 8.0.28\Assemblies\v4.5.2\MySql.Data.dll"
- 以管理员身份打开命令提示符,输入
内容的提问来源于stack exchange,提问作者7 Reeds
相关产品推荐
相关产品推荐

