MySQL Connector/Net不适用于Mac上的Mono

Feu*_*ler 4 mysql macos mono mysql-connector

我开始使用mono和MySQL开发一些应用程序.在尝试使用这些工具时,我尝试使用Connecotr/net of MySql.我已经下载了最新版本并按照文档中的说明进行了安装.

我已经创建了一个小型控制台应用程序来测试连接到MySQL.以下是我使用的几行代码:

public static void Main (string[] args)
{
    string connString = "Server=localhost;Database=feuerwehr;Uid=XXX;Pwd=XXX;";
    MySqlConnection conn = new MySqlConnection (connString);
    try {
        Console.WriteLine ("Connection to MySQL ...");
        conn.Open ();
    } catch (Exception ex) {
        Console.WriteLine (ex.Message);
    }
    conn.Close ();
    Console.WriteLine ("Done!");
}
Run Code Online (Sandbox Code Playgroud)

构建应用程序没有问题.但是当我运行它时,出现了这个错误:

程序集中缺少方法.ctor /Users/Patrick/Projects/MySqlTest2/MySqlTest2/bin/Debug/MySql.Data.dll,类型System.Security.SecurityRulesAttribute找不到自定义attr构造函数图像:/ Users/Patrick/Projects/MySqlTest2 /MySqlTest2/bin/Debug/MySql.Data.dll mtoken:0x0a00002b

未处理的异常:System.TypeLoadException:无法从程序集"MySql.Data"加载类型"System.Security.SecurityRulesAttribute".在/Users/Patrick/Projects/MySqlTest2/MySqlTest2/Main.cs:12中的MySqlTest2.MainClass.Main(System.String [] args)[0x00006]

你们有没有人也有这个问题吗?你能解决吗?

我希望我的应用程序在不同的平台上运行,并且应该能够通过Internet更新不同的客户端,每个客户端都有自己的数据库.所以我决定使用Mono和MySQL.如果有人知道任何更好的数据库用于此任务,这也可能是一个选项.我不想使用Java或任何其他编程语言,因为我在Windows上开发.net应用程序方面有一些经验.

谢谢你的帮助!

Lef*_*une 6

SecurityRulesAttribute类特定于.NET v4.0,请确保您的项目是为该运行时版本构建的.默认情况下,我认为MonoDevelop是为.NET v3.5构建的.