首页 > 解决方案 > 如何修复 UWP 应用发布版本中的 MySQL.Connection.Open() 错误?

问题描述

我正在创建一个日托应用程序,并且一直在努力使用构建的发布版本(在调试中一切正常)。

我有一个从 MySql 数据库填充的组合框,但由于某种原因,应用程序在 Connection.Open() 上崩溃;

这是组合框的代码

        void FillComboBox()
    {

        using (MySqlConnection conn = new MySqlConnection(connectString))
        {

            try
            {
                MySqlCommand da = new MySqlCommand("select childName,username from Todlers;", conn);

                da.Connection = conn;
                da.Connection.Open();

                MySqlDataReader drd = da.ExecuteReader();
                Children child = new Children(UserName,ChildName);

                    while (drd.Read())
                    {
                        childCombo.Items.Add(drd["ChildName"].ToString());
                    }

                child.UserName = drd["UserName"].ToString();

                drd.Close();
                conn.Close();
            }
            catch (Exception ex)
            {
                Debug.Write(ex);

            }
        }
    }

该应用程序似乎工作正常,但没有填充组合框我知道连接字符串和整体连接很好,因为您首先需要它来登录应用程序

标签: c#mysqluwpdatabase-connection

解决方案


我怀疑 .NET Native 编译器会丢弃一些类型,这些类型是通过MySql.Data库中的反射激活的。请转到您的 UWP 应用Default.rd.xml的“属性<Application>”文件夹中的文件,并在标签内添加以下内容:

<Namespace Name="MySql.Data" Dynamic="Required All" />

然后重建,看看它是否有帮助


推荐阅读