【问题标题】:error CS0246: The type or namespace name 'MySql' could not be found错误 CS0246:找不到类型或命名空间名称“MySql”
【发布时间】:2019-07-14 18:39:22
【问题描述】:

我正在尝试为我的项目连接到我的 mysql 数据库,但我收到以下错误:

错误 CS0246:找不到类型或命名空间名称“MySql”

完全错误:

[Running] mono "C:\Users\Aidan\AppData\Roaming\Code\User\cs-script.user\cscs.exe" "d:!computer science!!NEA!\test stuff\sql\c# sql 测试 1.cs" 错误:无法编译指定的文件。

csscript.CompilerException: d:!computer science!!NEA!\test stuff\sql\c# sql test 1.cs(3,7): error CS0246: The type or namespace name 'MySql' could not be found (您是否缺少 using 指令或程序集引用?) d:!computer science!!NEA!\test stuff\sql\c# sql test 1.cs(4,7): error CS0246: The type or namespace name 'MySql' could not be found(您是否缺少 using 指令或装配参考?) d:!computer science!!NEA!\test stuff\sql\c# sql test 1.cs(5,7): error CS0246: The type or namespace name 'MySql' could not be found(您是否缺少 using 指令或程序集参考?)

在 csscript.CSExecutor.ProcessCompilingResult(System.CodeDom.Compiler.CompilerResults 结果,System.CodeDom.Compiler.CompilerParameters compilerParams,CSScriptLibrary.ScriptParser 解析器,System.String scriptFileName,System.String assemblyFileName,System.String[] additionalDependencies) [0x00102] 在:0 在 csscript.CSExecutor.Compile (System.String scriptFileName) [0x0080d] in :0 在 csscript.CSExecutor.ExecuteImpl () [0x005a1] in :0

[Done] 在 5.388 秒内以 code=1 退出

我正在使用 Visual Studio 代码,(Visual Studio 已损坏,表示社区的免费试用期已过期)

在网上查看类似此类的其他问题时,我无法找到任何解决方法,一些网站正在讨论 dll 和其他内容,但我无法理解他们想要做什么,所以请准确解释它是什么我需要做。

我使用 c#,在同一台计算机上运行服务器,我能够连接到它并使用 popsql 编辑数据库。

这是我正在使用的代码:

using System;
using System.Data;

using MySql.Data;
using MySql.Data.MySqlClient;

public class Tutorial2
{
    public static void Main()
    {
        string connStr = "server=localhost;user=****;database=*****;port=****;password=***********";
        MySqlConnection conn = new MySqlConnection(connStr);
        try
        {
            Console.WriteLine("Connecting to MySQL...");
            conn.Open();

            string sql = "SELECT Name, HeadOfState FROM Country WHERE Continent='Oceania'";
            MySqlCommand cmd = new MySqlCommand(sql, conn);
            MySqlDataReader rdr = cmd.ExecuteReader();

            while (rdr.Read())
            {
                Console.WriteLine(rdr[0]+" -- "+rdr[1]);
            }
            rdr.Close();
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }

        conn.Close();
        Console.WriteLine("Done.");
    }
}

(我用星号替换了密码等)

【问题讨论】:

    标签: c# mysql sql cs0246


    【解决方案1】:

    您可以尝试以下方法:

    1. 检查项目引用。如果引用中存在 MySql 但有警告(黄色三角形),则需要删除并再次添加 .dll。更简单的方法是安装 nuget 包。

    2. 或者,检查项目的框架。如果项目的.Net版本小于MySql的版本,则需要更改项目的目标框架。

    【讨论】:

    【解决方案2】:

    如果您在使用标签时遇到错误,很可能不是您的代码错误,而是您要引用的文件。某些 MySQL dll 可能已损坏或丢失。

    【讨论】:

    • 谢谢,但我不知道我应该如何处理这些信息,(我在问题中提到)我该如何检查这是否是问题,如果是问题,我该如何解决?
    • 试试这个,stackoverflow.com/questions/1422456/… 希望对您有所帮助。
    • 很好地下载了文件,但该教程/答案适用于 Visual Studio,而不适用于 vscode,所以我不知道该怎么做
    • stackoverflow.com/questions/42000798/… 这个链接可以帮助你在 VSCode 中添加引用。
    • 谢谢,试过了还是不行,还是报sme错误
    猜你喜欢
    • 1970-01-01
    • 2019-09-14
    • 2013-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多