ReplicationManager 在打开连接时抛出异常

ReplicationManager threw an exception on opening a connection

我一直在使用 visual studio 2019,并且正在学习有关如何设置在线数据库的教程。在建立连接的第一步中,我收到一条错误消息:

System.TypeInitializationException: 'MySql.Data.MySqlClient.Replication.ReplicationManager' 的类型初始值设定项引发异常。

此错误已在 visual studio 的先前版本中解决,但我在 visual studio 2019 中未找到任何相关信息。

这是我关注的教程:https://youtu.be/FOZ8HNJMXXg 我一直在寻找这个错误,发现人们在更早的 visual studio 版本中遇到了完全相同的错误。他们的解决方案是打开 "SQL Server Debugging"(请参阅此答案 ) 我一直在寻找该选项,但在任何地方都找不到。我还搜索了 visual studio 2019 中的错误,但找不到任何内容。

        MySqlConnection con = new MySqlConnection("server=db4free.net;port=3306;database=***;User Id=***;Password=***!;charset=utf8");
        try
        {
            if (con.State == ConnectionState.Closed)
            {
                con.Open(); //this is the line the break comes up on.
                Log.Debug("MySQL connected", con.ToString()); 
            }
            con.Close();
        }catch(MySqlException ex)
        {
            Log.Debug("MySQL error", ex.ToString());
        }

我有同样的问题,但我用这个包解决了 MySqlConnector

Note

如果您使用的是 root 用户,请尝试使用密码创建另一个用户。

这是我的 class 我曾经连接到 MySql。

public class SQLDataAccess
{
    string cs = @"Server=172.20.10.5;Database=TestDB;Uid=Creative;Pwd=123456;";
    public SQLDataAccess()
    {
        try
        {
            connection = new MySqlConnection(cs);
            connection.Open();
        }
        catch (MySqlException Ex)
        {
            Console.WriteLine(Ex.Message);
        }
    }

    private string databaseName = string.Empty;

    public string DatabaseName
    {
        get { return databaseName; }
        set { databaseName = value; }
    }

    public string Password { get; set; }

    private MySqlConnection connection = null;

    public MySqlConnection Connection
    {
        get { return connection; }
    }

    private static SQLDataAccess _instance = null;

    public static SQLDataAccess Instance()
    {
        if (_instance == null)
            _instance = new SQLDataAccess();
        return _instance;
    }

    public bool IsConnect()
    {   
        try
        {
            connection = new MySqlConnection(cs);
            connection.Open();
            return true;
        }
        catch (MySqlException Ex)
        {
            Console.WriteLine(Ex.Message);
            return false;
        }
    }

    public void Close()
    {
        connection.Close();
    }
}