生成ASP.NET-web应用程序时正在获取CS0246,但添加了MySql.Data

本文关键字:添加 Data MySql CS0246 获取 NET-web ASP 应用程序 生成 | 更新日期: 2023-09-27 18:29:18

首先感谢您尝试解决我的问题。

我正在用asp.net做一个以C#为背景的网络应用程序。因此,当用户按下login.aspx上的按钮时,会使用登录名和密码调用Administratie.login()。Administratie调用Database.cs来执行自己的login(),在其中它与数据库建立连接。

login.aspx:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data.MySqlClient;
namespace Admin_SiM.Forms
{
    public partial class login : System.Web.UI.Page
    {
        private Adminstratie administratie;
        protected void Page_Load(object sender, EventArgs e)
        {
            administratie = new Adminstratie();
        }
        protected void btLogin_Click(object sender, EventArgs e)
        {
            string result = administratie.Login(tbEmail.Text, tbWachtwoord.Text);
            errorlabel.Text = result;
            if (result == "correct")
            {
                // go to next screen
            }
        }
    }
}

Administrative.cs:

using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.ComponentModel;
using System.Collections.Generic;
namespace Admin_SiM
{
    public class Adminstratie
    {
        private Database db;
        public Adminstratie()
        {
            db = new Database();
        }
        public string Login(string email, string password)
        {
            string result = db.Login(email, password);
            return result;
        }
    }
}

数据库.cs:

using MySql.Data.MySqlClient;
using System;

namespace Admin_SiM
{
    public class Database
    {
        MySqlConnection con;
        public Database()
        {
            string constring = "server=127.0.0.1;uid=root;pwd=obsessed;database=sim;";
            try
            {
                con = new MySqlConnection(constring);
                con.Open();
            }
            catch (MySqlException ex)
            {
                string errormessage = ex.StackTrace;
                Console.WriteLine(errormessage);
            }
            finally
            {
                con.Close();
            }
        }
        public string Login(string username, string password)
        {
            try
            {
                con.Open();
                MySqlCommand cmd = new MySqlCommand("select wachtwoord from admin where mailadres = '" + username + "';", con);
                MySqlDataReader reader = cmd.ExecuteReader();
                string ww = "";
                try
                {
                    ww = reader.GetString(1);
                    if (ww == password)
                    {
                        return "correct";
                    }
                    else
                    {
                        return "incorrect wachtwoord";
                    }
                }
                catch (Exception ex)
                {
                    return "invalid email";
                }
            }
            catch (Exception ex)
            {
                return "error";
            }
        }
    }
}

当我运行它时,我只收到以下消息:http://nl.tinypic.com/r/2zoda2h/8从而表示它找不到Mysqlconnection的名称空间,给出错误代码CS0246。

然而,我已经添加了我能找到的所有mysql引用:http://nl.tinypic.com/r/2qasm02/8

但是,当删除除MySql.Data之外的所有引用时,我在前面的"使用"部分中收到了错误消息

有人能帮帮我吗?我尝试了我在网上能找到的所有解决方案,但似乎都不起作用,因为大多数解决方案只是告诉我应该添加引用或重新安装连接器。但我已经做了这些事。

生成ASP.NET-web应用程序时正在获取CS0246,但添加了MySql.Data

OP此处。我找到了答案:

您需要添加对MySql.Data.dll的引用,但最好可以使用NuGet-将此dll添加为包

下面是软件包管理器控制台命令

PM> Install-Package MySql.Data

所以我转到了工具>库包管理器>包管理器控制台。然后我使用了上面的命令。