CodeSmith连接不上MySQL的解决方法

[场景]

我用的是6.5版本的CodeSmith,需要连MySQL结果提示“找不到请求的 .Net Framework Data Provider。可能没有安装.”。

[过程]

网络上好多这文章,但真实能用的没有。真的很无语。

[最终解决方法]

1、安装好MySQL Connector Net (我安装的是6.9.9.0版本)

2、6.5版本的CodeSmith是基于.NET4.0的,所以找到.NET4.0下的machine.config。

文件在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config目录下。在DbProviderFactories节点下加入:

<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.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d” />


这里注意,PublicKeyToken其实一般不用变,MySQL Connector Net签名都一样的。如果不一样可以用sn.exe -T MySql.Data.dll进行查询。

3、拷贝MySQL Connector Net下Assemblies\v4.0的MySql.Data.dll到CodeSmith的bin目录(此处只需要拷贝到BIN目录,其他目录可不拷贝)。

4、打开TemplateEditor.exe.config,增加以下配置:

<system.data> 

 <DbProviderFactories>

 <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.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d” />
</DbProviderFactories> 

 </system.data>

网络上都是写在CodeSmith.exe.config里改。试了半天都不行,真的是很无语。



郑重声明:
除特别声明为转载内容外,本站所有内容均为作者原创,谢绝任何单位和个人不经许可的复制和转播!
对于确有转载需要的,请先与作者联系,在获得允许后烦请在转载时保留文章出处。
本文出自Lupin's Blog:http://www.cnzui.com/archives/1264