MySQL Connector / Net не работает с Mono на Mac - PullRequest
4 голосов
/ 14 августа 2011

Я начинаю разрабатывать некоторые приложения, используя моно и MySQL.Экспериментируя с этими инструментами, я попытался использовать Connecotr / net из 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.Typeзагрузите тип «System.Security.SecurityRulesAttribute» из сборки «MySql.Data».в MySqlTest2.MainClass.Main (System.String [] args) [0x00006] в /Users/Patrick/Projects/MySqlTest2/MySqlTest2/Main.cs:12

У кого-нибудь из вас возникла эта проблематакже?Удалось ли вам решить эту проблему?

Я хочу, чтобы мое приложение работало на разных платформах, а также должно было иметь возможность обновлять через Интернет разных клиентов, каждый из которых имеет свою собственную базу данных.Поэтому я решил использовать Mono и MySQL.Если кто-нибудь знает какую-либо лучшую базу данных для этой задачи, это также может быть вариантом.Я не хочу использовать Java или любой другой язык программирования, потому что у меня есть некоторый опыт разработки приложений .net для Windows.

Спасибо за помощь!

1 Ответ

6 голосов
/ 24 августа 2011

Класс SecurityRulesAttribute относится к .NET v4.0, убедитесь, что ваш проект создан для этой версии времени выполнения.По умолчанию MonoDevelop собирает для .NET v3.5, я думаю.

...