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链接:点击下载

posted @ 2014-04-10 10:40  冰魄少年  阅读(1104)  评论(0编辑  收藏  举报