C# mysql 错误 The type initializer for ‘MySql.Data.MySqlClient.Replication.ReplicationManager‘

问题描述, 在c#  .NetCore 3.1  winform 程序中, 使用mysql, 用nuget下载了MySql.data 8.0.26, 执行如下代码,在SQLCon.Open这句出现异常

            string connetStr = "Server=xxxx.com;port=5889;database=bldb;uid=root;password=xxxx;sslMode=none;CharSet=utf8;Convert Zero Datetime=True;"; //
            string searchStr = "select * from t_account";   //表中数据

            MySqlConnection SQLCon;
            MySqlCommand SQLCmd;

            SQLCon = new MySqlConnection(connetStr);
            try
            {
                var temp = SQLCon.State;
                SQLCon.Open(); //连接数据库

                MySql.Data.MySqlClient.MySqlDataAdapter adapter = new MySql.Data.MySqlClient.MySqlDataAdapter(searchStr, SQLCon);
                DataTable a = new DataTable();
                adapter.Fill(a);
                this.dataGridView1.DataSource = a;
            }
            catch (MySqlException ex)
            {
            }

网上查了半天很少见,别人的经验都无法用, 一开始以为是版本问题, 翻来复去修改很多依赖项的版本号,还没解决问题, 但是仔细观察,下面还有一行提示 log4net

 前面的代码里用到了log4net, 没任何错误提示, 能正确写入日志, 这里提到 无法识别的configuration section, 突然想起好像有人是通过修改 App.config解决了问题. 于是先删掉App.config里的log4net块, 果然成功运行!  原来 MySqlConnection  open要从app.config里读取配置, 遇到这个块无法处理才出此提示,  再仔细研究, 在App.config最前面加入configSections就不会有错误提示, 也不用删除log4net块, 这个异常实在太少见, 解决思路也太奇怪, 顺便想对MySql.data问一句,这种错误关你什么事,别人都正常运行你跳出来干啥 ?  特此记录. 

	<configSections>
		<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
	</configSections>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值