Установка Mono 3.x в Ubuntu/Debian

Недавно я прочитал, что Mono 3.0 был выпущен с компилятором С# 5 и поддержкой MVC 4 здесь:

http://www.mono-project.com/Release_Notes_Mono_3.0

и

http://tirania.org/blog/archive/2012/Oct-22.html

В течение жизни я не могу решить, где взять его из пакета для Linux или даже Windows.

Эта страница, похоже, все еще находится в бета-версии:

http://www.go-mono.com/mono-downloads/download.html

Я пробовал сделать apt-get install mono-complete на Ubuntu 12.10, но он установил 2.10.8.1.

Я попытался установить MonoDevelop 3 на моем компьютере с Windows и представил только проекты MVC 3 и, по-видимому, использовал .NET framework.

Я совершенно новичок в Mono, и у меня есть все возможное, чтобы попытаться посмотреть, как это работает, но я сбит с толку. Я бы хотел, чтобы это работало на Linux, если это возможно, и попробуйте некоторые вещи.

Может кто-то пролить свет на это или мне нужно смотреть на построение этого из источника?

Ответ 1

Mono 3.x - слишком кровоточащий край для Ubuntu 12.10. Возьмите пакеты предварительного просмотра из directhex PPA таким образом (это установит 3.2.1):

sudo add-apt-repository ppa:directhex/monoxide

(Если вы используете Ubuntu saucy 13.10, после добавления репозитория вам нужно отредактировать файл /etc/apt/sources.list.d/directhex-monoxide-saucy.list и заменить слово saucy на raring)

Затем, после этого:

sudo apt-get update && sudo apt-get dist-upgrade

Это также даст вам MonoDevelop 4.x, если раньше у вас была монодеборка.

ПРИМЕЧАНИЕ: direchtex - не случайный парень, который создал PPA, он часть команды разработчиков Debian/Ubuntu всех пакетов на основе Mono и Mono. Поэтому использование этого является наиболее официальным способом обновления инфраструктуры.


И для пользователей debian: mono 3.0.6 и MonoDevelop 4.0.x уже доступен в тестировании debian. Поэтому я рекомендую это:

  • Установить тестирование debian (в настоящее время называется debian jessie).
  • Удалите mono, выполнив sudo apt-get purge mono-runtime (после этого сопротивляйтесь соблазну сделать sudo apt-get autoremove или вы сломаете свою систему, что я сообщил как ошибка здесь).
  • Измените /etc/apt/sources.list, найдите первую строку, в которой упоминается источник main, и переименуйте слово jessie в sid.
  • Сделайте sudo apt-get update.
  • Установите monodevelop через sudo apt-get install monodevelop, который также вытащит моно как зависимость.
  • Вернуть то, что вы сделали на шаге 3.
  • Повторите шаг 4.

Таким образом, у вас есть более или менее современный дистрибутив (в отличие от стабильной версии debian), а также очень современные современные пакеты (для версий Mono, как правило, довольно стабильны).

Пользователи F #: Mono 3.0.6 имеет ошибку, которая запрещает этому языку работать в этой версии, вместо этого используйте Mono 3.2.x.

Ответ 2

Вот полное руководство по установке mono 3.0.1

Для начинающих, которые не знают, как получить новую версию Mono 3.0.1 на Ubuntu 12.04 (Потому что я новичок, и я работаю над этим в течение 3 дней, прежде чем заставить его работать)

Получение доступа root для установки и настройки Mono 3.0.1

sudo -s
***type your root password***

Установить редактор vim

apt-get install vim

Установить apache2

apt-get install apache2

Установить инструменты для компиляции моно

apt-get install autoconf automake libtool g++ gettext libglib2.0-dev libpng12-dev libfontconfig1-dev
apt-get install mono-gmcs
apt-get install git

Установить apache2-threaded-dev (необходимый для компиляции mod_mono) *

apt-get install apache2-threaded-dev

Мы вернемся к конфигурации apache2 позже

Создание структуры, необходимой для получения исходного кода

cd /opt
mkdir mono-3.0

Переместитесь в эту новую папку перед тем, как получить исходный код

cd /opt/mono-3.0

Получение исходного кода из GitHub

git clone git://github.com/mono/mono.git
git clone git://github.com/mono/xsp.git
git clone git://github.com/mono/libgdiplus.git
git clone git://github.com/mono/mod_mono.git

Скомпилировать libgdiplus

cd /opt/mono-3.0/libgdiplus
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

Скомпилировать моно

cd /opt/mono-3.0/mono/
make clean
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

Скомпилировать xsp

cd /opt/mono-3.0/xsp
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

Скомпилировать mod_mono

cd /opt/mono-3.0/mod_mono
./autogen.sh --prefix=/usr  (the prefix is very important for Ubuntu 12.04)
make
make install

После установки mod_mono файл mod_mono.conf * как было добавлено в вашу папку apache2 (/etc/apache2) *

Настройка apache2

Настроить сайт по умолчанию apache ### (необязательный *) **

vim /etc/apache2/sites-available/default
Modify the line "DocumentRoot /var/www" by "DocumentRoot /var/www/YourFolder" (YourFolder is the folder where you publishing your website!)

Настроить права на YourFolder (необязательно *) **

cd /var/www/YourFolder
sudo chown -R root:www-data .
sudo chmod -R 774 .
sudo usermod -a -G www-data <yourusername>

Добавление mod_mono в apache2.conf

vim /etc/apache2/apache2.conf
Add "Include /etc/apache2/mod_mono.conf" at the end of the file (without quotes!)

Добавление указателя на ASP.NET 4.0 в mod_mono.conf

vim /etc/apache2/mod_mono.conf
Add "MonoServerPath /usr/bin/mod-mono-server4" (without quotes!) under the "If Modules condition"

Перезапустить сервер apache2  /etc/init.d/apache2 restart

Ответ 3

У меня есть mono 3.x от источника до нескольких шагов на Ubuntu Raring:

1: Получите зависимости, все в одном ударе:

sudo apt-get install build-essential autoconf automake \
bison flex gtk-sharp2-gapi boo gdb valac libfontconfig1-dev \
libcairo2-dev libpango1.0-dev libfreetype6-dev libexif-dev \
libtiff4-dev libgif-dev zlib1g-dev libatk1.0-dev libjpeg8-dev \
libjpeg-turbo8-dev libglib2.0-dev libgtk2.0-dev libglade2-dev \
libart-2.0-dev libgnomevfs2-dev libgnome-desktop-dev \
libgnome2-dev libgnomecanvas2-dev libgnomeui-dev libgnomeprint2.2-dev \
libgnomeprintui2.2-dev libpanel-applet-4-dev \
libnautilus-extension-dev librsvg2-dev libgtkhtml3.14-dev \
libgtksourceview2.0-dev libgtksourceview2.0-dev libvte-dev \
libwnck-dev libnspr4-dev libnss3-dev libwebkit-dev libvala-0.18-dev

2: Создайте папку где-нибудь, чтобы сохранить источник:

sudo mkdir /opt/mono-3

3: клонировать в папку с git

cd /opt/mono-3
sudo git clone git://github.com/mono/mono.git
cd  mono
sudo git checkout mono-3.0.12

4: сборка и установка

sudo ./autogen.sh --prefix=/usr/local
sudo make
sudo make install

Что это!

Чтобы получить последние изменения в System.Drawing.dll и System.Windows.Forms.dll, вам также необходимо настроить, установить и установить libgdiplus.

 cd libgdiplus
 ./autogen.sh --prefix=/usr/local
 make
 make install

Ответ 4

apt-get install устанавливает версию версии Mono, на которую распространяется ваша дистрибутива, которая, как представляется, 2.10.8.1. В вашем дистрибутиве могут быть или не быть более новые пакеты Mono, возможно, вам придется выбрать новый канал обновления в вашем диспетчере пакетов распространения. Поскольку вы не указали, какой дистрибутив Linux (и какую версию) вы используете, на него невозможно ответить.

apt-get предполагает, что это что-то Debian/Ubuntu, но существует много разных версий. Я человек Mac, поэтому я просто не знаю.

См. http://www.mono-project.com/Compiling_Mono для получения инструкций о том, как скомпилировать исходный код.

Однако этот вопрос действительно принадлежит superuser.com, вы получите лучшие ответы, если вы спросите его там.

Ответ 5

Я не нашел это связанным нигде, поэтому он, вероятно, неофициальный, но вы можете установить установщик Windows для Mono 3.0.10 отсюда:

http://download.mono-project.com/archive/3.0.10/windows-installer/mono-3.0.10-gtksharp-2.12.11-win32-0.exe

Изменить. Чтобы убедиться, что вы загружаете последнюю версию, откройте http://download.mono-project.com/archive/ и проверьте каждый из подкаталогов версии (начиная с последнего и перемещая назад), пока вы не найдете тот, который содержит подкаталог "windows-installer".

Ответ 6

Теперь есть ссылка на установщик Windows для Mono 3.0.1. К сожалению, он, похоже, не устанавливается на Windows 7 64bit. Возможно, вам повезет больше.

http://www.go-mono.com/mono-downloads/download.html

Ответ 7

Чтобы завершить Dominique Goudreault отличное решение относительно "Denis The Menace вопрос в комментариях", Ubuntu 13.04 x86. В нем говорится /usr/bin/ld: testgdi.o: undefined ссылка на символ 'g_print' "

Пожалуйста, следуйте этому простому трюку, который сделал это для меня.

http://www.sgvulcan.com/libgdiplus-2-10-9-build-fails-on-slacware-current64-2012-06/

Я не могу ответить на комментарий, как я пожелал, поэтому я должен задать здесь еще один ответ, любое предложение о лучшей практике?

Обновление: Opps, я не заметил, что Дэвид V уже указал на решение, дал ему все заслуги, моя ссылка говорит то же самое, но, возможно, обеспечивает более четкий путь.: P