Mono 3.x installeren in Ubuntu/Debian

Ik heb onlangs gelezen dat Mono 3.0 is uitgebracht met een C# 5-compiler en ondersteuning voor MVC 4 hier:

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

en

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

Voor mijn leven kan ik er niet achter komen waar ik het vandaan kan halen als pakket voor Linux of zelfs Windows.

Deze pagina lijkt te suggereren dat deze nog in bèta is:

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

Ik heb geprobeerd een apt-get install mono-completeuit te voeren op Ubuntu 12.10 maar het is 2.10.8.1 geïnstalleerd.

Ik heb geprobeerd MonoDevelop 3 op mijn Windows-computer te installeren en dat leverde me alleen MVC 3-projecten op en lijkt het .NET-framework te gebruiken.

Ik ben helemaal nieuw in Mono en ik heb al het mogelijke gegoogeld om te proberen te zien hoe dit werkt, maar ik ben verbijsterd. Ik zou dit graag op Linux werkend krijgen als dat mogelijk is en wat dingen uitproberen.

Kan iemand hier enig licht op werpen of moet ik kijken of ik dit vanaf de bron kan bouwen?


Antwoord 1, autoriteit 100%

Hier is de complete gids voor het installeren van mono 3.0.1

Voor beginners die niet weten hoe ze de nieuwe Mono 3.0.1-versie op Ubuntu 12.04 kunnen krijgen
(Omdat ik een beginner ben en ik hier 3 dagen aan heb gewerkt voordat ik het liet werken)

Roottoegang verkrijgen om Mono 3.0.1 te installeren en configureren

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

Vim-editor installeren

apt-get install vim

Installeer apache2

apt-get install apache2

Installeer tools voor het compileren van mono

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

Installeer apache2-threaded-dev (nodig voor het compileren van mod_mono)*

apt-get install apache2-threaded-dev

We zullen later terugkeren naar de apache2-configuratie

De structuur maken die we nodig hebben om de broncode te krijgen

cd /opt
mkdir mono-3.0

Ga naar die nieuwe map voordat je de broncode ophaalt

cd /opt/mono-3.0

De broncode ophalen van 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 compileren

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

Mono samenstellen

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 compileren

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

Mod_mono compileren

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

Na de installatie van mod_mono, het bestand mod_mono.conf
*zoals toegevoegd aan je apache2-map(/etc/apache2)*

Apache2 configureren

Configureer de standaard site van apache ### (optioneel*)**

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!)

Configureer de rechten op YourFolder (optioneel*)**

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

De mod_mono include toevoegen in apache2.conf

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

De aanwijzer toevoegen aan ASP .NET 4.0 in mod_mono.conf

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

Herstart de apache2-server
/etc/init.d/apache2 herstart


Antwoord 2, autoriteit 44%

Mono 3.x is te bloederig voor Ubuntu 12.10. Pak voorbeeldpakketten van de PPA van directhex op deze manier (hiermee wordt 3.2.1 geïnstalleerd):

sudo add-apt-repository ppa:directhex/monoxide

(Als u Ubuntu saucy 13.10 gebruikt, moet u na het toevoegen van de repository het bestand /etc/apt/sources.list.d/directhex-monoxide-saucy.listbewerken en het woord vervangen sappigmet raar)

En daarna:

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

Hiermee krijgt u ook MonoDevelop 4.x als u eerder monodevelop had geïnstalleerd.

OPMERKING: directhex is niet een willekeurige man die een PPA heeft gemaakt, hij maakt deel uit van het Debian/Ubuntu-onderhoudsteam van alle op Mono en Mono gebaseerde pakketten. Dit is dus de meest officiële manier om uw infrastructuur te upgraden.


En voor de debian-gebruikers die er zijn: mono 3.0.6 en MonoDevelop 4.0.x is al beschikbaar in debian testen. Dus wat ik aanraad om dit te krijgen is:

  1. Installeer debian testing (momenteel debian jessie genoemd).
  2. Verwijder mono door sudo apt-get purge mono-runtimeuit te voeren (weersta daarna de verleiding om een ​​sudo apt-get autoremoveuit te voeren, anders breekt je systeem, iets dat ik hierals een bug heb gemeld).
  3. Wijzig /etc/apt/sources.list, zoek de eerste regel die de main-bron vermeldt en hernoem het woord jessiein sid.
  4. Voer sudo apt-get updateuit.
  5. Installeer monodevelop via sudo apt-get install monodevelop, waarmee ook mono als afhankelijkheid wordt opgehaald.
  6. Herstel wat je in stap 3 hebt gedaan.
  7. Doe stap 4 opnieuw.

Op deze manier heb je een min of meer moderne distro (in tegenstelling tot debian stable), plus heel erg moderne mono-pakketten (de meest geavanceerde versies voor Mono zijn normaal gesproken behoorlijk stabiel).

F# gebruikers: Mono 3.0.6 heeft een bug waardoor deze taal niet werkt in deze versie, gebruik in plaats daarvan Mono 3.2.x.


Antwoord 3, autoriteit 7%

Ik heb mono 3.x vanaf de bron geïnstalleerd tot een paar stappen op Ubuntu Raring:

1: verkrijg de afhankelijkheden, alles in één klap:

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: Maak ergens een map voor de bron:

sudo mkdir /opt/mono-3

3: Kloon naar de map met git

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

4: Bouw & Installeren

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

Dat is het!

Om de laatste wijzigingen in System.Drawing.dll en System.Windows.Forms.dll te krijgen, moet u ook libgdiplus configureren, bouwen en installeren.

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

Antwoord 4, autoriteit 4%

apt-get installinstalleert de versie van Mono waarmee uw distributie wordt geleverd, wat 2.10.8.1 lijkt te zijn. Uw distributie kan al dan niet nieuwere Mono-pakketten hebben, het kan zijn dat u een nieuwer updatekanaal moet selecteren in de pakketbeheerder van uw distributie. Aangezien je niet hebt vermeld welke Linux-distributie (en welke versie ervan) je gebruikt, is dit onmogelijk te beantwoorden.

apt-getsuggereert dat het iets op Debian/Ubuntu gebaseerd is, maar er zijn veel verschillende versies. Ik ben een Mac-persoon, dus ik weet het gewoon niet.

Zie http://www.mono-project.com/Compiling_Monovoor instructies over hoe te compileren vanaf de bron.

Deze vraag hoort echter echt thuis op superuser.com, je krijgt betere antwoorden als je hem daar stelt.


Antwoord 5, autoriteit 3%

Ik heb dit nergens gevonden, dus het is waarschijnlijk niet-officieel, maar je kunt het Windows-installatieprogramma voor Mono 3.0.10 hier downloaden:

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

Bewerken: om er zeker van te zijn dat u de nieuwste versie downloadt, opent u http://download.mono-project.com/archive/, en controleer elk van de versie-submappen (beginnend bij de laatste en teruggaand) totdat je er een vindt die een “windows-installer”-submap bevat.


Antwoord 6, autoriteit 2%

Er is nu een link naar een Windows-installatieprogramma voor Mono 3.0.1. Helaas lijkt het niet te installeren op Windows 7 64bit. Misschien heb je meer geluk.

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


Antwoord 7

Om de geweldige oplossing van Dominique Goudreault met betrekking tot ” Denis The Menace’s vraag in de opmerkingen, “Ubuntu 13.04 x86. Er staat /usr/bin/ld: testgdi.o: ongedefinieerde verwijzing naar symbool ‘g_print'”

Volg deze eenvoudige truc waarmee ik het voor elkaar kreeg.

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

Ik kan niet op de opmerking reageren zoals ik had gewild, dus ik moet hier een ander antwoord plaatsen, een suggestie voor een betere praktijk?

Update: Oeps, ik heb niet gemerkt dat David V al op de oplossing heeft gewezen, hem alle eer heeft gegeven, mijn link zegt hetzelfde, maar heeft misschien een duidelijker pad gegeven. 😛

Other episodes