zoukankan      html  css  js  c++  java
  • 关于Linux和Windows下部署mysql.data.dll的注册问题

    mysql ado.net connector下载地址:

    http://dev.mysql.com/downloads/connector/net/

    选择版本:

    Generally Available Releases(1)是发布版(bug什么的较少的版本吧),而Development Releases(2)是开发版

    我们采用1版本

    Windows (x86, 32-bit), MSI Installer

    该版本是window下的安装版,如果你安装了这个版本的话,在本机调试的时候可以不用再次注册MySql.Data.MySqlClient,vs会找到dbprovider为此的dll,

    如果重复注册会报错

    创建 system.data 的配置节处理程序时出错: 列“InvariantName”被约束为是唯一的。值“MySql.Data.MySqlClient”已存在。

    如下图 

    .Net & Mono (Architecture Independent), ZIP Archive

    如果是这个版本的话,那么你需要手动注册下dll,否则调试的时候或者部署到Linux服务器上的时候MySql.Data.dll是无法被加载的,所以要手工注册下代码如下

        <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.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
                </DbProviderFactories>
        </system.data>

    对于

    type="MySql.Data.MySqlClient.MySqlClientFactory,MySql.Data,Version=6.9.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"

    这段根据自己的版本改变:C:WindowsAssembly

    注意了:这样就会在windows下调试的时候报重复注册的错了。

    我纠结了:在群友熬夜后如头像的帮助下解决了

    在注册前先移除,上面web.config的配置改变为

        <system.data>
            <DbProviderFactories>
                <remove invariant="MySql.Data.MySqlClient"></remove>//先移除,接下来注册
                <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.0.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
                </DbProviderFactories>
        </system.data>

    ok,解决了,多谢熬夜后如头像的帮助。我也记录此问题来帮助以后遇到这个问题的朋友。

  • 相关阅读:
    uni.navigateTo 无法跳转到页面
    微信小程序 navigateTo 只能使用几次 无效后 怎么处理的?
    Vue中computed和watch的区别
    vue 动态添加样式的方式
    浏览器数据库IndexedDB介绍
    Gitlab CI/CD 之 Gitlab Runner Docker Executor 缓存问题
    Gitlab CI/CD 之 Gitlab-Runner
    .neter 的 java 学习之路
    Gitlab 迁移后 runner 访问报错的问题
    .neter 的 java 学习之路
  • 原文地址:https://www.cnblogs.com/24la/p/mysqldatadll.html
Copyright © 2011-2022 走看看