问题描述

安装MySql for Visual Studio 一般来说是为了能在VS的服务器数据连接的数据源中能选择MySql类型,如下图:

mysql缺少utf8_general_ci mysql安装时提示缺少vs_加载

但是有时候,明明安装成功了,却莫名找不到MySql的数据源。在以后情况下会遇到:

1.在安装完VS后,又重新打开安装程序修改了安装位置;

2.同时安装了VS2013和VS2015,并且相互独立安装在不同的位置(该情况下会只有一个版本的VS成功安装);

3.可能存在的其他情况... ...。

解决过程

第一个怀疑的肯定是mysql-for-visualstudio-1.2.*.msi这个包没有正确安装,于是乎再打开安装包,如果之前确实安装成功(不管是否安装正确),应该会有下图中几个选项:

mysql缺少utf8_general_ci mysql安装时提示缺少vs_数据库_02

Repair经测试没有任何卵用,于是乎选择了Change。

如果没有成功安装,那么会出现初始安装界面。

mysql缺少utf8_general_ci mysql安装时提示缺少vs_解决方案_03

为了解决问题,自然应选择可以看到所有安装选项的Custom。

Chang和Custom选项都会跳到Custom安装界面。

通过展开菜单,会发现Entity Framework Support for VS ****都没有被选中,看来问题原因是这玩意因为莫名的原因没找到VS路径所以没安装扩展。

mysql缺少utf8_general_ci mysql安装时提示缺少vs_c#_04

我试着手动勾上,然后下一步安装,然后打开VS发现仍无卵用。不过在我PC最大的盘上根目录发现了VSPath20**,比如我之前手动勾上了2015,那么就会出现VSPath2015,且目录结构如下:

mysql缺少utf8_general_ci mysql安装时提示缺少vs_c#_05

看的出来这货是真没到VS安装路径,然后就找了块大空地把这个扩展放下了。

看到这个,我觉得几乎都能想到把这坨东西复制到VS安装目录里去吧,于是乎我这么做了,打开VS,仍无卵用。

然后网上查了查,最后查到VS重新加载扩展的命令。



.\devenv.exe /setup



这次再打开,会有提示加载*****什么的。等VS正式打开后,终于在数据源列表发现了这玩意。

解决方案

下面是根据解决过程简化出的解决方案。

1.重新打开mysql-for-visualstudio-1.2.*.msi,选择Change或者Custom;

2.展开最后一项菜单,勾选响应的VS版本;

3.安装后在本地空闲空间最大的硬盘上找到VSPath20**这样的文件夹,复制覆盖VS安装路径(对一下里面文件夹名称可知应在哪里覆盖);

4.打开命令行,定位到VS程序devenv.exe路径下,执行以下命令重新加载扩展。



.\devenv.exe /setup



总结

其他方面的扩展加载问题估计也可以用这样的方法解决,但不一定能解决所有类似问题。