Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.
Пример:
string value = null;
if (value.Length == 0) // <-- Causes exception
{
Console.WriteLine(value); // <-- Never reached
}
Ошибка исключения:
Необработанное исключение:
System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. в Program.Main ()
blockquote>
вот как я делаю это так, что вы можете использовать mysql или mariadb, поскольку mariadb - это замена взамен (набрав это из памяти, поэтому, пожалуйста, дайте мне знать, если есть некоторые ошибки) ...
0) сделайте резервную копию вашего mysql db dir на всякий случай и сделайте некоторую готовку mysql только в случае
$ cp -R /Applications/MAMP/db/mysql /Applications/MAMP/db/mysql.2013-02-06-1850.bak
$ /Applications/MAMP/bin/repairMysql.sh
$ /Applications/MAMP/bin/quickCheckMysqlUpgrade.sh
$ /Applications/MAMP/bin/upgradeMysql.sh
1) сделайте копию или обратите внимание на некоторые настройки в файле my.cnf , Он может быть расположен в самых разных местах, поэтому, чтобы найти их все (есть куча):
$ locate my.cnf
/Applications/MAMP/conf/my.cnf
/etc/my.cnf
/usr/local/etc/my.cnf
/usr/local/etc/my.cnf.d
/usr/local/etc/my.cnf.d/client.cnf
/usr/local/etc/my.cnf.d/mysql-clients.cnf
/usr/local/etc/my.cnf.d/server.cnf
2) выяснить, какой my.cnf был загружен (для MAMP это может быть в /Applications/MAMP/conf/my.cnf)
$ /usr/local/bin/mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /usr/local/etc/my.cnf ~/.my.cnf
$ /Applications/MAMP/Library/bin/mysql --help | grep my.cnf
order of preference, my.cnf, $MYSQL_TCP_PORT,
/etc/my.cnf /etc/mysql/my.cnf /Applications/MAMP/conf/my.cnf ~/.my.cnf
3) сделайте резервную копию my.cnf в /etc/my.cnf и отредактируйте my.cnf, чтобы убедиться, что у него есть несколько параметров там, самое главное параметры порта, сокета и datadir, так что mariadb будет знать, где искать ваши файлы db:
$ sudo cp /etc/my.conf /etc/my.cnf.2013-02-06-1858.bak
$ sudo vi /etc/my.cnf
port = 3306
socket = /Applications/MAMP/tmp/mysql/mysql.sock
datadir = /Applications/MAMP/db/mysql
tmpdir = /Applications/MAMP/tmp/mysql
4) добавить любые параметры конфигурации mariadb, которые могут вам понадобиться раздел [mariadb]
5) установить mariadb (мне нравится использовать варево, но выбирайте свой яд) ... и вы действительно можете это сделать в любое время
$ brew install mariadb
6) сделайте символическую ссылку из my.conf с шага два
$ sudo ln -s /Applications/MAMP/conf/my.cnf /etc/my.cnf
6a) вы можете поместить свой my.cnf в любом месте, если есть копия или ссылка на нее в /etc/my.cnf ... Цель здесь состоит в том, чтобы реализация mariadb и MAMP в mysql использовала те же настройки конфигурации.
7) теперь сделать сценарий оболочки оболочки для загрузки apache и mariadb
$ mkdir -p ~/scripts/mamp
$ touch ~/scripts/mamp/startSomething.sh ~/scripts/mamp/stopSomething.sh
$ chmod ug+rx ~/scripts/mamp/*Something.sh
8) получить / принять к сведению текущий скрипт start / stop для apache (это будет не очень интересно)
$ more /Applications/MAMP/bin/startApache.sh
$ more /Applications/MAMP/bin/stopApache.sh
9) получить установленный путь mariadb и сделать конечно, это версия mariadb
$ which mysql
/usr/local/bin/mysql
$ mysql --version
mysql Ver 15.1 Distrib 5.5.29-MariaDB, for osx10.8 (i386) using readline 5.1
10) теперь редактировать startSomething.sh
# /bin/sh
/Applications/MAMP/Library/bin/apachectl start
/usr/local/bin/mysql.server start &
11) сделать то же самое для stopSomething.sh
# /bin/sh
/Applications/MAMP/Library/bin/apachectl stop
/usr/local/bin/mysql.server stop &
12) вот и все! чтобы начать или остановить вещи
$ ~/scripts/mamp/startSomething.sh
$ ~/scripts/mamp/stopSomething.sh
, если вы хотите ванильный MAMP, используйте приложение MAMP, которое поставляется с MAMP. в противном случае получайте удовольствие от этой немного более быстрой базы данных с кучей веселых новых функций ... но имейте в виду, что, хотя mariadb по дизайну является заменой для mysql, это не так, наоборот. ( MariaDB v MySQL совместимость )
MAMP использует MAMP / bin / startMysql.sh для запуска mysql. Попробуйте изменить его.