CodeSmith连接不上MySql数据库的解决办法
前话:CodeSmith(我用的是6.5版本)好用啊,但是最近用mysql的时候 连不上抛出异常:"找不到请求的 .Net Framework Data Provider。可能没有安装."怎么办,百度谷歌一大堆方法但是没用啊.突然想起我了配置文件步骤如下:
1.如果你安装了mysql-connector-net 那么你就进安装路径里面找到 MySql.Data.dll,如果没安装那就自己去百度一个下载安装吧
2.复制"MySql.Data.dll"到X:XX\CodeSmith\v*.*\SchemaProviders目录下和Codesmith的Bin目录下。
3.这个相当重要,前面两步是我百度到的,这步是在前面两步做了之后无效的解决方案:
<1>打开CodeSmith.exe.config
<2>添加mysql的DbProviderFactories配置(由于我用的是6.7.4.0所以PublicKeyToken是下面酱紫配置的,不同版本的PublicKeyToken不一样)发上我的CodeSmith.exe.config的配置全部代码如下:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <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.7.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> </DbProviderFactories> </system.data> <system.diagnostics> <switches> <add name="CodeSmithSwitch" value="4" /> </switches> </system.diagnostics> <runtime> <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> <probing privatePath="bin;AddIns;SchemaProviders"/> </assemblyBinding> </runtime> </configuration>
<3>保存CodeSmith.exe.config 重新打开CodeSmith.exe 完美运行
附上MySql.Data.dll链接:点击下载