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

时间:2011-08-14 10:44:19

标签: 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!");
}

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

  

程序集中缺少方法.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”。     at MySqlTest2.MainClass.Main(System.String [] args)[0x00006] in /Users/Patrick/Projects/MySqlTest2/MySqlTest2/Main.cs:12

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

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:6)

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