[场景]
我用的是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