codesmith连接Mysql提示“找不到请求的 .Net Framework Data Provider。可能没有安装。"
1,首先需要将MySql.Data.dll复制到codesmith安装目录下bin文件夹下,注意dll的版本
2,其次因为codesmith7采用的是.net4.0的配置文件,(64位系统)找到C:\Windows\Microsoft.Net\Framework64\v4.0.30319\Config\machine.config
在其中的DbProviderFactories节点下添加
<remove invariant="MySql.Data.MySqlClient" /> <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" />
注意其中的版本号要与上面复制到codesmith下面mysql.data.dll版本号一致!
重启codesmith,问题解决,配置CodeSmith连接字符串
Database=xxx;Data Source=10.1.43.23;User Id=root;Password=123456;port=3305
注:
如找不到MySql.Data.dll,可以在项目或解决方案中使用nuget安装
使用Nuget安装install-package Mysql.Data.Entity ,安装成功可以在packages中找到对应dll文件,右键查看版本信息
注:直接安装mysql-connector-net-6.x.x.msi后也可以正常使用codesmith